@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--green:#073e32;--deep:#062e26;--gold:#bd9859;--cream:#f7f3e9;--ink:#173e33;--muted:#66746c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.8 "DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid #b88631;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.topline{background:var(--green);color:#e7d9b9;display:flex;justify-content:space-between;padding:9px 5%;font-size:10px;letter-spacing:1.5px}.topline a{letter-spacing:.3px}.topline a span{margin-left:15px}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 5%;gap:20px;background:var(--cream);border-bottom:1px solid #cdbf9e66;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:60px;height:60px;object-fit:contain}.brand>span{font:17px Georgia,serif;letter-spacing:1px}.brand small{display:block;text-align:center;font:9px Arial,sans-serif;margin-top:7px}.header nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:500}.header nav a{padding:10px 0}.header nav [aria-current]{color:#886324;border-bottom:1px solid var(--gold)}.header nav .nav-cta{padding:10px 18px;border:1px solid #b2bcae}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.hero-copy{padding:75px 9% 70px 12%;align-self:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.6;margin:0 0 25px;color:#8d6c36}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font:clamp(55px,5.3vw,88px)/1.02 "Italiana",Georgia,serif;letter-spacing:-1.8px;margin:0 0 40px}em{font-family:Georgia,serif;font-weight:400}h1 em{font-size:.81em;color:#8d6c36;line-height:1.17}h2{font:clamp(38px,4vw,60px)/1.15 "Italiana",Georgia,serif;letter-spacing:-.7px}h2 em{font-size:.9em}.developer-name{display:flex;align-items:center;gap:17px;margin-bottom:25px}.gold-line{height:1px;width:42px;background:var(--gold)}.developer-name h2{font:24px/1.4 Georgia,serif;margin:0}.developer-name p{font-size:10px;letter-spacing:1px;text-transform:uppercase;margin:5px 0 0}.hero-intro{max-width:390px;color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:28px}.text-link{display:inline-block;font-size:12px;font-weight:600;border-bottom:1px solid var(--gold);padding:8px 0}.text-link span{margin-left:25px}.portrait{margin:0;position:relative;overflow:hidden;background:#d4c7a8;min-height:760px}.portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.portrait:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#062e26ba);pointer-events:none}.portrait figcaption{position:absolute;bottom:40px;left:45px;color:white;font:italic 33px/1.35 Georgia,serif;z-index:2}.portrait figcaption span{display:block;font:9px Arial,sans-serif;letter-spacing:3px;margin-bottom:13px}.portrait-index{position:absolute;right:20px;top:25px;writing-mode:vertical-rl;letter-spacing:2px;font-size:9px;background:#f7f3e9cc;padding:15px 8px}.section{padding:100px max(6%,calc((100vw - 1220px)/2))}.vision{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;border-bottom:1px solid #b9ab8b44}.vision h2{margin:0}.vision-copy{max-width:620px;color:var(--muted);font-size:15px}.vision-copy .lead{font:26px/1.6 Georgia,serif;color:var(--ink);margin-bottom:23px}.vision-copy p{margin-bottom:20px}.quote-section{padding:70px 8%;text-align:center;background:var(--green);color:#fff9ec;position:relative}.quote-mark{display:block;font:90px/.7 Georgia;color:var(--gold)}.quote-section blockquote{font:clamp(29px,3.2vw,46px)/1.5 "Italiana",Georgia,serif;margin:20px auto 30px}.quote-section blockquote em{color:#dfc18c;font-size:.87em}.quote-section p{font-size:9px;letter-spacing:2.5px;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:25px}.section-heading h2{width:56%}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px}.principle-grid article{padding:0 38px;border-left:1px solid #b7aa8c88}.principle-grid article:first-child{padding-left:0;border-left:0}.number{color:#a2814b;font:italic 23px Georgia;display:block;margin-bottom:35px}.principle-grid h3{font:30px Georgia;line-height:1.3;margin-bottom:20px}.principle-grid p{font-size:14px;color:var(--muted);margin:0}.project{display:grid;grid-template-columns:1.1fr 1fr;background:#eae6db}.project-image{position:relative;min-height:660px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;position:absolute}.project-image span{position:absolute;bottom:25px;left:25px;padding:9px 15px;background:var(--cream);font-size:9px;letter-spacing:2px}.project-copy{padding:70px 12%}.project-copy>p{font-size:14px;color:var(--muted)}.project-copy h2{font-size:50px}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:35px 0}.project-facts dt{font:36px Georgia;color:#795d31}.project-facts dd{margin:10px 0 0;font-size:11px;color:var(--muted);line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;padding:15px 23px;min-height:50px;font-size:12px;font-weight:600;transition:background .2s}.button:hover{background:#165d4c}.button.gold{background:#c6a15f;color:#123f32}.button.gold:hover{background:#dabb81}.letter{display:grid;grid-template-columns:1fr 1.5fr;gap:9%;align-items:start}.letter-heading>p:last-child{max-width:270px;font-size:14px;color:var(--muted)}.letter-paper{background:#fffcf5;padding:45px 45px 40px;border-top:3px solid var(--gold);box-shadow:0 12px 45px #183d3208}.letter-label{display:block;font-size:8px;letter-spacing:1.6px;color:#876936;padding-bottom:25px;border-bottom:1px solid #d7ccaf}.salutation{font:24px Georgia;margin:30px 0 20px}.letter-paper blockquote{margin:0 0 20px;font:20px/1.85 Georgia,serif}.letter-paper>p:not(.salutation){font-size:14px;color:var(--muted)}.signature{display:flex;flex-direction:column;margin-top:30px;padding-top:25px;border-top:1px solid #d7ccaf}.signature span{font-size:12px;color:var(--muted)}.signature strong{font:italic 25px Georgia;margin:12px 0}.signature small{font-size:8px;letter-spacing:1.5px}.occasion{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;background:#e9e2d2}.occasion .eyebrow{max-width:300px}.occasion h2{margin:0}.occasion-details{border-left:1px solid #b8a27b;padding-left:45px}.event-date{font:25px Georgia;margin-bottom:15px}.event-time{font:34px Georgia}.event-time span{font:11px Arial;margin-left:10px}.occasion-details>p{font-size:14px}.occasion-details .event-time{font-size:34px}.occasion-details .event-date{font-size:25px}.occasion-details .note{font-size:10px;margin:15px 0 0;color:var(--muted)}.contact{text-align:center;background:var(--green);color:var(--cream)}.contact .eyebrow{color:#dac08c}.contact h2{margin-bottom:25px}.contact>p:not(.eyebrow){max-width:570px;margin:0 auto 30px;font-size:14px;color:#cfdbd2}.contact-links{display:flex;align-items:center;justify-content:center;gap:30px}footer{padding:40px 6%;display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--deep);color:#d9e0d8;font-size:11px}footer p{margin:0;text-align:right}.footer-brand{font:20px Georgia}.footer-brand span{font:10px Arial;letter-spacing:2px;margin-left:8px}footer nav{display:flex;flex-wrap:wrap;gap:22px}footer small{text-align:right;font-size:10px}
@media(min-width:1600px){.hero{max-width:1600px;margin:auto;border-inline:1px solid #cdbf9e44}.portrait{min-height:850px}}
@media(max-width:1100px){.header nav{gap:16px;font-size:11px}.brand>span{display:none}.hero-copy{padding:60px 9%}.hero,.portrait{min-height:680px}.project-copy{padding:55px 9%}.section{padding:75px 6%}.letter-paper{padding:32px}.principle-grid article{padding:0 25px}}
@media(max-width:760px){html{scroll-padding-top:85px}.topline{font-size:8px;letter-spacing:1px}.topline a{font-size:10px}.topline a span{display:none}.header{padding:8px 5%;flex-wrap:wrap;gap:0}.brand img{width:52px;height:52px}.brand>span{display:block;font-size:14px}.brand small{font-size:7px}.menu-toggle{display:flex;gap:15px;align-items:center;min-height:44px;border:1px solid #cdbf9e;background:none;padding:8px 13px;font-size:12px;color:var(--green)}.header nav{display:none;flex-basis:100%;padding:18px 0 12px;max-height:75vh;overflow:auto}.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.header nav a{font-size:12px;min-height:44px;display:flex;align-items:center}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:50px 7% 45px}.eyebrow{font-size:9px;margin-bottom:22px}h1{font-size:65px;line-height:1.02;letter-spacing:-1px;margin-bottom:30px}.hero h1 br:nth-of-type(3){display:none}.developer-name h2{font-size:22px}.hero-intro{font-size:14px;max-width:100%}.portrait{min-height:0;height:580px}.portrait>img{object-position:50% 20%}.portrait figcaption{left:28px;bottom:30px;font-size:30px}.section{padding:60px 7%}.vision{grid-template-columns:1fr;gap:25px}.vision-copy .lead{font-size:23px}.quote-section{padding:55px 7%}.quote-section blockquote{font-size:31px}.section-heading{display:block}.section-heading h2{width:auto}.principle-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.principle-grid article,.principle-grid article:first-child{padding:25px 0 0;border-left:0;border-top:1px solid #b7aa8c88}.number{margin-bottom:18px}.principle-grid h3{font-size:28px;margin-bottom:13px}.project{grid-template-columns:1fr}.project-image{min-height:400px}.project-copy{padding:50px 7%}.project-copy h2{font-size:44px}.project-facts{gap:25px}.project-facts dt{font-size:30px}.letter{grid-template-columns:1fr;gap:20px}.letter-heading>p:last-child{max-width:none}.letter-paper{padding:28px 24px}.letter-paper blockquote{font-size:19px}.occasion{grid-template-columns:1fr;gap:30px}.occasion-details{padding:25px 0 0;border-left:0;border-top:1px solid #b8a27b}.contact-links{flex-direction:column;gap:15px}footer{grid-template-columns:1fr;gap:20px;padding:35px 7%}footer p,footer small{text-align:left}footer nav{gap:15px 25px}}
@media(max-width:380px){h1{font-size:56px}.portrait{height:480px}.developer-name{gap:12px}.developer-name h2{font-size:20px}.gold-line{width:25px}.project-facts dt{font-size:27px}.event-time span{display:block;margin:12px 0 0}.brand{gap:7px}.brand>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
