:root{--forest:#142b28;--deep:#10221f;--ink:#26322d;--muted:#66716b;--paper:#fbfaf7;--cream:#f4f0e8;--gold:#dcbf8c;--line:#e3e0d9;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{font:inherit}h1,h2,h3,p,blockquote{margin-top:0}.shell{width:min(1200px,calc(100% - 84px));margin:auto}.skip-link{position:absolute;left:-999px;top:0;background:white;color:var(--deep);padding:12px;z-index:99}.skip-link:focus{left:10px}.site-header{background:var(--forest);height:92px;border-bottom:1px solid rgba(255,255,255,.13);position:relative;z-index:10}.nav{display:flex;align-items:center;justify-content:space-between;height:100%}.brand{display:flex;align-items:center;gap:15px;color:#fff}.brand-symbol{font:500 28px var(--serif);letter-spacing:-3px;line-height:1}.brand-symbol span{color:var(--gold);font-style:italic}.brand-symbol .brand-dot{font-style:normal}.brand-label{font-size:10px;letter-spacing:3px;font-weight:600}.brand-label i{font-family:var(--serif);color:var(--gold);font-size:14px}.nav nav{display:flex;align-items:center;gap:36px;color:#e9ede9;font-size:12px;font-weight:500}.nav nav>a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{border:1px solid rgba(255,255,255,.35);padding:14px 20px;border-radius:2px}.nav-cta span{margin-left:15px;color:var(--gold)}.nav-cta:hover{background:#ffffff13}.mobile-menu{display:none}.hero{background:var(--forest);color:#f9f6ef;overflow:hidden}.hero-grid{min-height:660px;display:grid;grid-template-columns:52% 48%}.hero-copy{position:relative;padding:85px 0 60px;z-index:1}.eyebrow,.kicker{font-size:11px;letter-spacing:2.5px;font-weight:600}.eyebrow{color:var(--gold);display:flex;align-items:center;gap:14px}.eyebrow-line{display:inline-block;width:28px;height:1px;background:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-1.5px}h1{font-size:clamp(58px,5.2vw,86px);line-height:1.12;margin:30px 0 22px}h1 em,h2 em,.quote-band em,.project-window em,.closing em{font-weight:400;color:var(--gold)}.gold{color:var(--gold)}.hero-copy>p{font-size:15px;line-height:1.95;color:#d5deda;max-width:490px}.hero-actions{display:flex;align-items:center;gap:31px;margin-top:34px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:17px 24px;font-weight:600;font-size:12px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#efe7d7;color:var(--deep)}.button-light:hover{background:#fff}.button span{font-size:17px;font-weight:400}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{margin-left:10px}.light-link{color:#f8f1e7}.hero-note{font-size:11px;color:#b6c6bd;display:flex;align-items:center;gap:12px;margin-top:58px}.heart{font-size:25px;color:var(--gold)}.hero-art{position:relative;min-width:0;padding:42px 0 40px 40px;display:flex;align-items:center}.hero-photo{width:100%;height:575px;position:relative;background:#72877d;overflow:hidden}.photo-slot img{width:100%;height:100%;object-fit:cover}.photo-slot:not(.missing-photo) .photo-fallback{display:none}.photo-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 34% 30%,#89968a,#536c61 50%,#314a43 100%);color:#f8e8d1;text-align:center;gap:20px}.photo-fallback:before{content:'';position:absolute;inset:24px;border:1px solid #ffffff38}.photo-mark{font:500 clamp(66px,8vw,132px) var(--serif);letter-spacing:-9px;opacity:.88}.photo-mark i{font-weight:400;color:#efcc9a}.photo-helper{font-size:10px;font-weight:600;letter-spacing:3px;z-index:1;opacity:.9}.photo-accent{position:absolute;bottom:57px;left:0;background:#eee5d5;color:var(--forest);padding:20px 42px 24px;font:25px/1.25 var(--serif);box-shadow:0 15px 35px #0002}.photo-accent em{color:#907b60}.hero-vertical{position:absolute;right:-35px;top:50%;writing-mode:vertical-rl;letter-spacing:2.3px;font-size:9px;color:#c8d3cc}.hero-bottom{border-top:1px solid #ffffff1c;display:flex;justify-content:space-between;padding:16px max(42px,calc((100vw - 1200px)/2));font-size:9px;letter-spacing:2px;color:#a9bab0}.hero-bottom a{color:#e4e7df}.hero-bottom a span{margin-left:15px;color:var(--gold)}.section-pad{padding:128px 0}.story-grid{display:grid;grid-template-columns:45% 55%;gap:7%;align-items:center}.story-images{position:relative;padding:20px 58px 46px 0}.story-photo{height:630px;position:relative;overflow:hidden;background:#d4cab9}.story-photo .photo-fallback{background:radial-gradient(ellipse at 30% 25%,#d6c6ac,#ad9f8d 58%,#716c60)}.story-photo .photo-fallback:before{border-color:#ffffff70}.handwritten{position:absolute;right:0;bottom:30px;padding:25px 24px;background:var(--forest);color:#fff;font:italic 27px/1.25 var(--serif);transform:rotate(-3deg)}.handwritten span{color:var(--gold)}.image-count{position:absolute;bottom:14px;left:0;font-size:9px;letter-spacing:2px;color:var(--muted)}.kicker{color:#a08357;display:block;margin-bottom:22px}.story-content h2,.center-heading h2,.project h2,.closing h2{font-size:clamp(38px,4vw,57px);line-height:1.23}.story-content h2 em,.center-heading h2 em,.project h2 em{color:#9c8058}.story-content .lead,.project .lead{font-size:17px;line-height:1.85;color:#43554b}.story-content p,.project-copy p{font-size:14px;line-height:2;color:#657169;margin-bottom:18px}.signature{font:italic 34px var(--serif);color:var(--forest);margin-top:30px}.signature span{color:#b69a70}.signature-period{font-style:normal}.values{background:#f2eee6}.center-heading{text-align:center;margin:auto auto 56px;max-width:690px}.center-heading h2{margin-bottom:15px}.center-heading p{color:#67736c;font-size:14px;line-height:1.8}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card{background:#fffdfa;padding:39px 36px 44px;border:1px solid #eae4da;min-height:316px;position:relative}.value-num{position:absolute;right:34px;top:38px;font-size:10px;letter-spacing:2px;color:#aeaa9f}.value-icon{color:#ab8f60;font-size:35px;margin-bottom:27px}.value-card h3{font-size:28px;margin-bottom:16px}.value-card p{font-size:13px;line-height:1.9;color:#66716a;margin:0}.quote-band{background:#d9c7a7;text-align:center;padding:75px 0 80px;color:var(--forest)}.quote-glyph{font:70px var(--serif);height:53px;display:block;color:#927954}.quote-band blockquote{font:500 clamp(30px,3.5vw,52px)/1.35 var(--serif);letter-spacing:-1px;margin:4px 0 21px}.quote-band em{color:#7b6348}.quote-attribution{letter-spacing:2.4px;font-size:10px;font-weight:600;color:#715f46}.project{background:#fffdfa}.project-grid{display:grid;grid-template-columns:48% 52%;gap:3%;align-items:center}.project-copy{padding-right:25px}.project-wordmark{font:600 31px var(--serif);letter-spacing:-1.5px;color:var(--forest);margin:0 0 36px}.project-wordmark>span:last-child{color:#b39164}.project-heart{display:inline-block;font:28px var(--serif);color:#bc956e;margin-right:8px}.project h2{margin-bottom:25px}.project-highlights{display:flex;flex-wrap:wrap;gap:12px 20px;color:#58675c;font-size:11px;margin:24px 0 34px}.button-dark{background:var(--forest);color:white}.button-dark:hover{background:#27483d}.project .small-note{letter-spacing:2px;font-size:9px;margin-top:21px}.project-showcase{position:relative;margin:0 20px 30px 22px;box-shadow:0 30px 70px #142b281f;transform:rotate(1.2deg)}.browser-chrome{height:38px;background:#e6e8e1;border:1px solid #d6ded5;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#617469;font-size:10px}.browser-dots{display:flex;gap:5px}.browser-dots i{height:6px;width:6px;background:#c2c9c0;border-radius:50%}.project-window{padding:39px 40px 30px;background:#f1f2ea;text-align:center;min-height:518px;border:1px solid #d9dfd4;border-top:0}.window-brand{font:600 25px var(--serif);color:#344d41;margin-bottom:40px}.window-brand span{color:#bc9c7b}.window-kicker{font-size:8px;letter-spacing:2px;color:#977c69;font-weight:600}.project-window h3{font-size:38px;line-height:1.24;color:#2d483c;margin:18px 0}.project-window h3 em{color:#a77e65}.project-window>p{font-size:11px;color:#78877c}.letter-card{background:#fffdfa;max-width:390px;margin:24px auto 0;text-align:left;padding:22px 28px;box-shadow:0 15px 35px #31423610;transform:rotate(-2deg)}.letter-top,.letter-bottom{display:flex;justify-content:space-between;color:#9a8a74;font-size:8px;letter-spacing:1.2px}.letter-top span{font-size:17px}.letter-card p{font:italic 17px/1.7 var(--serif);color:#41574c;margin:15px 0 23px}.letter-bottom{border-top:1px solid #e8e7e0;padding-top:15px}.window-foot{display:flex;gap:18px;justify-content:center;color:#7a8e7e;font-size:8px;letter-spacing:1.2px;margin-top:27px}.floating-label{position:absolute;bottom:-28px;right:-26px;padding:19px 26px;background:#d8be95;color:#3d4237;font-size:9px;letter-spacing:1.5px;text-align:center;line-height:1.7;transform:rotate(4deg)}.floating-label em{font:italic 19px var(--serif);letter-spacing:0}.closing{background:var(--forest);text-align:center;color:#f7f6f1;padding:100px 0 95px}.closing-content{max-width:800px}.closing .kicker{color:var(--gold)}.closing h2{font-size:clamp(43px,5vw,69px);margin:0 0 21px}.closing p{font-size:14px;line-height:2;color:#c3d1c8;max-width:550px;margin:0 auto 29px}.closing-signature{margin-top:46px;font:italic 20px var(--serif);color:#d7ddcf}.closing-signature strong{color:var(--gold);font-weight:500}footer{background:#10221f;color:#a8b9ad;border-top:1px solid #ffffff1a}footer .footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer span,footer a:not(.footer-brand){font-size:10px}footer .footer-inner>div{display:flex;gap:24px}footer a:hover{color:var(--gold)}.footer-brand{font:22px var(--serif);color:#f5efe4}.footer-brand i,.footer-brand span{color:var(--gold)}@media(max-width:1050px){.shell{width:min(100% - 48px,1200px)}.hero-grid{grid-template-columns:55% 45%}.hero-art{padding-left:15px}h1{font-size:clamp(52px,6vw,74px)}.hero-vertical{display:none}.story-grid{gap:4%}.story-content h2{font-size:40px}.project-window{padding:30px 20px}.project-window h3{font-size:32px}}@media(max-width:760px){.site-header{height:72px}.shell{width:calc(100% - 36px)}.brand-label{font-size:9px}.mobile-menu{display:flex;width:44px;height:44px;background:transparent;border:1px solid #ffffff55;border-radius:3px;flex-direction:column;align-items:center;justify-content:center;gap:7px}.mobile-menu span{height:1px;width:19px;background:white}.nav nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--deep);padding:24px 18px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #ffffff25}.nav nav.is-open{display:flex}.nav nav>a{padding:15px 8px}.nav .nav-cta{margin-top:8px;padding:15px}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:65px 0 25px}.hero-copy h1{font-size:clamp(53px,11.5vw,80px);margin:23px 0}.hero-copy>p{font-size:14px}.hero-actions{flex-wrap:wrap;gap:24px}.hero-note{margin-top:32px}.hero-art{padding:20px 14px 45px 0}.hero-photo{height:440px}.photo-accent{bottom:22px;padding:14px 25px;font-size:20px}.hero-bottom{padding:16px 18px}.hero-bottom>span{display:none}.section-pad{padding:75px 0}.story-grid,.project-grid{grid-template-columns:1fr;gap:45px}.story-images{max-width:510px;padding-right:40px}.story-photo{height:470px}.story-content h2,.center-heading h2,.project h2{font-size:clamp(37px,9vw,52px)}.story-content p,.project-copy p{font-size:14px}.value-grid{grid-template-columns:1fr}.value-card{min-height:0;padding:30px}.value-icon{margin-bottom:18px}.quote-band{padding:60px 0}.project-showcase{margin:18px 23px 20px 0}.closing{padding:75px 0}.closing h2{font-size:clamp(40px,9vw,60px)}footer .footer-inner{padding:30px 0;flex-direction:column;align-items:flex-start;gap:20px}footer .footer-inner>div{flex-wrap:wrap}}@media(max-width:380px){.hero-actions{align-items:flex-start;flex-direction:column}.photo-mark{font-size:70px}.project-window h3{font-size:28px}.project-window{padding:25px 14px}.letter-card{padding:20px 18px}.floating-label{right:-16px}}
