:root{--paper:#ede8df;--ink:#25211e;--muted:#655c54;--accent:#b77448}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:0}header{height:96px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);position:sticky;top:0;z-index:10}.brand{width:170px;height:76px;overflow:hidden;position:relative}.brand img{width:195px;position:absolute;left:-13px;top:-59px}nav{display:flex;gap:35px;font-size:12px}nav a:last-child{border-bottom:1px solid #bda991;padding-bottom:8px}.menu{display:none}.hero{position:relative;min-height:710px;padding:82px 5.5% 70px;display:grid;grid-template-columns:1.16fr 1fr;gap:3vw}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.8;font-weight:600;margin:0 0 30px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(42px,4.7vw,78px);line-height:1.06;letter-spacing:-2.8px;margin:0 0 30px}em{font-weight:400;color:var(--accent)}.intro{font-size:15px;line-height:1.8;max-width:370px;color:var(--muted)}.line-link{display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #afa296;padding:20px 0 13px;font-size:12px;max-width:350px;margin-top:22px}.line-link span{font-size:23px}.hero-art{position:relative;overflow:hidden;min-height:475px;background:#d3c6b5;box-shadow:inset 0 0 90px #a68e7533}.arch{position:absolute;left:23%;top:10%;width:56%;height:102%;border-radius:200px 200px 0 0;background:linear-gradient(105deg,#605246,#c1a483 60%,#dbc7ac);box-shadow:-35px 25px 45px #5d4b3b30,inset 14px 0 20px #352c2930}.arch:after{content:'';position:absolute;inset:25px 23px 0;border:1px solid #efdbc58f;border-radius:200px 200px 0 0}.sun{position:absolute;left:-20%;bottom:0;width:130%;height:31%;background:linear-gradient(165deg,#e1d7c7,#b7a38c);transform:skewY(-12deg);box-shadow:0 -15px 35px #56412f22}.art-note{position:absolute;left:24px;top:24px;font-size:9px;letter-spacing:3px;color:#50473f}.preview-note{position:absolute;bottom:17px;left:22px;font-size:9px;color:#382e26}.hero-bottom{position:absolute;bottom:22px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;border-top:1px solid #c8bfb4;padding-top:18px}.section{padding:100px 7%}h2{font-size:clamp(34px,3.6vw,56px);line-height:1.12;letter-spacing:-1.5px;margin:0 0 30px}.essence{display:grid;grid-template-columns:1fr 2fr;background:#f6f3ec}.feelings{display:flex;gap:8px;flex-wrap:wrap;margin-top:36px}.feelings button{border:1px solid #b6aa9c;background:transparent;border-radius:30px;padding:10px 17px;font-size:11px}.feelings button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}#feeling-text{font-size:15px;line-height:1.7;min-height:52px;max-width:600px;color:#665647}.essence-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}.essence-columns p,.services p,.public p,.steps p{font-size:14px;line-height:1.9;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-head>p{font-size:13px;line-height:1.7;margin-bottom:33px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px}.project{padding:0;border:0;background:none;text-align:left}.p3{grid-column:1 / -1;width:72%;margin:0 auto}.project-art{height:365px;position:relative;overflow:hidden;background:#d5c8b8}.p2 .project-art{background:#c5bfaf}.p3 .project-art{height:350px;background:#839193}.project-art:before{content:'';position:absolute;width:55%;height:110%;left:30%;top:15%;border:1px solid #fff7e880;border-radius:200px 200px 0 0;transform:rotate(20deg);transition:transform .6s}.p2 .project-art:before{border-radius:0;transform:rotate(-20deg)}.p3 .project-art:before{width:70%;height:160%;left:15%;top:20%;border-radius:50%;transform:rotate(0)}.project:hover .project-art:before{transform:rotate(0) scale(1.08)}.project-number{position:absolute;top:25px;left:25px;font:italic 44px Georgia;color:#fff8ecab}.project-placeholder{position:absolute;bottom:30px;left:30px;font-size:12px;letter-spacing:2px}.project-placeholder small{display:block;font-size:10px;letter-spacing:.3px;margin-top:9px}.circle{position:absolute;right:24px;bottom:25px;border:1px solid #fff8ec80;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:22px}.project-caption{padding:21px 0}.project-caption>span{font-size:9px;letter-spacing:1.3px}.project h3{font-size:29px;line-height:1.2;margin:13px 0 17px}.project-caption .discover{letter-spacing:0;border-bottom:1px solid #ab9d8d;padding-bottom:5px;font-size:11px}.review-note{font-size:11px;line-height:1.7;color:#72675d;margin-top:25px}.services{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.1fr;gap:12%}.services>div>p:not(.eyebrow){color:#bdb1a5;max-width:350px}.service-list{padding-top:34px}details{border-top:1px solid #655950;padding:23px 0}details:last-child{border-bottom:1px solid #655950}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:15px;font-family:Georgia,serif;font-size:24px}summary::-webkit-details-marker{display:none}summary span{font:10px Arial;color:#b99475}summary b{margin-left:auto;font:22px Arial;font-weight:normal}details[open] summary b{transform:rotate(45deg)}.services details p{color:#bdb1a5;padding-left:30px;font-size:13px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid #c6b9aa;padding-top:33px;margin-top:45px}.steps article>span{font-size:11px;color:#946744}.steps h3{font-size:27px;margin:20px 0 10px}.steps p{font-size:13px}.public{border-top:1px solid #c9bbad;display:grid;grid-template-columns:1fr 2fr;background:#e1d9cd}.public p:not(.eyebrow){max-width:550px}.public .line-link{max-width:430px}.contact{text-align:center;background:#f6f3ec}.contact h2{font-size:clamp(45px,5.5vw,80px)}.contact-cta{display:inline-flex;align-items:center;gap:50px;border-bottom:1px solid #aa947d;padding:20px 0;font-size:14px}.contact-cta span{font-size:30px}.contact-details{display:flex;justify-content:center;gap:85px;text-align:left;margin-top:65px}.contact-details p{font-size:9px;letter-spacing:1px;line-height:2.5}.contact-details a,.contact-details span{font-size:12px;letter-spacing:0;color:var(--muted)}footer{padding:32px 5.5%;background:var(--ink);color:#c8bcb0;display:flex;justify-content:space-between;font-size:10px}dialog{border:0;background:var(--paper);color:var(--ink);width:min(760px,92vw);padding:70px 55px 35px;max-height:90vh}dialog::backdrop{background:#171310b8;backdrop-filter:blur(5px)}dialog h2{font-size:42px}dialog>p:not(.eyebrow){line-height:1.8}dialog .close{position:absolute;right:25px;top:20px;background:none;border:0;font-size:12px}#dialog-details{border-top:1px solid #bdaf9f;margin-top:30px;padding-top:10px}#dialog-details p{font-size:14px;line-height:1.8}.dialog-actions{display:flex;justify-content:space-between;align-items:center;margin-top:30px;font-size:11px}.dialog-actions button{padding:12px;border:1px solid #b4a696;background:transparent}
@media(max-width:800px){header{height:78px}.brand{transform:scale(.86);transform-origin:left}.menu{display:block;background:none;border:0;font-size:12px}.menu span{margin-left:12px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:30px;flex-direction:column;gap:25px}nav.open{display:flex}.hero{padding:48px 6% 75px;grid-template-columns:1fr;gap:40px}h1{font-size:52px;letter-spacing:-2px}.hero-art{min-height:340px}.hero-bottom span:last-child{display:none}.section{padding:65px 6%}.essence,.services,.public{grid-template-columns:1fr;gap:20px}.essence-columns{gap:20px}.section-head{display:block}.section-head>p{display:none}.project-grid{gap:25px 18px}.project-art{height:280px}.p3{width:100%}.project h3{font-size:24px}.project-placeholder{left:16px;font-size:10px}.project-placeholder small{font-size:9px;max-width:130px}.circle{right:12px;bottom:85px}.project-number{left:16px}.steps{grid-template-columns:1fr 1fr}.contact-details{gap:30px;flex-direction:column;text-align:center;margin-top:40px}footer{gap:25px;flex-wrap:wrap}dialog{padding:65px 25px 25px}dialog h2{font-size:32px}.contact-cta{font-size:12px;gap:18px}.service-list{padding-top:0}}@media(max-width:480px){h1{font-size:44px}.project-grid{grid-template-columns:1fr}.project-art{height:330px}.essence-columns{grid-template-columns:1fr;gap:0}.steps{gap:20px}.hero-bottom{font-size:8px}h2{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center}.image-credit{position:absolute;left:18px;right:18px;bottom:18px;font-size:8px;letter-spacing:1.4px;color:white;text-shadow:0 1px 5px #000}.hero-art:has(.hero-image):after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}.image-credit{z-index:1}.has-image>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.has-image:before{display:none}.has-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0008)}.has-image .project-placeholder,.has-image .circle,.has-image .project-number{color:white;z-index:1}.project:hover .has-image>img{transform:scale(1.035)}#gallery figure{margin:30px 0 0}#gallery-image{width:100%;max-height:65vh;object-fit:contain;background:#d6cabe}#gallery-caption{font-size:10px;line-height:1.7;margin-top:10px;color:var(--muted)}.gallery-controls{display:flex;justify-content:space-between;gap:15px;margin-top:15px}.gallery-controls button{background:transparent;border:1px solid #b4a696;padding:10px;font-size:11px}dialog{width:min(940px,94vw)}

/* Dedicated pages */nav{gap:22px}nav a[aria-current]{color:#e6bb92}.page-intro{padding-top:80px;padding-bottom:70px;border-bottom:1px solid #c8bbae}.page-intro h1{max-width:980px;font-size:clamp(42px,5.1vw,76px)}.lead{max-width:710px;font-size:18px;line-height:1.8;color:var(--muted)}.editorial{display:grid;grid-template-columns:1fr 2fr;gap:40px}.editorial>div>p{font-size:16px;line-height:1.9;max-width:720px;color:var(--muted)}.editorial:nth-of-type(even){background:#f6f3ec}.wide-image{margin:0 7%}.wide-image img{width:100%;max-height:680px;object-fit:cover;display:block}.wide-image figcaption{font-size:10px;line-height:1.7;padding-top:12px;color:var(--muted)}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.route-grid>a,.route-grid>article{border-top:1px solid #b7a794;padding:27px 0;display:block}.route-grid span{font-size:10px;letter-spacing:1px}.route-grid h3{font-size:32px}.route-grid h2{font-size:36px}.route-grid p{font-size:14px;line-height:1.85;color:var(--muted)}.route-grid b{font-size:11px;font-weight:400;border-bottom:1px solid #b7a794;padding-bottom:7px}.route-links,.flip-focus{background:#e1d9cd}.services-grid{grid-template-columns:1fr 1fr}.closing{background:var(--ink);color:var(--paper);text-align:center}.closing p:not(.eyebrow){color:#c8bcb0;line-height:1.8}.closing h2{max-width:850px;margin:0 auto 25px}.faq{background:#f6f3ec}.faq details{border-color:#c8bbae}.faq summary{font-size:22px;line-height:1.5}.faq details p{font-size:15px;line-height:1.9;max-width:820px;color:var(--muted)}.contact-options{display:grid;grid-template-columns:1.5fr 1fr;gap:75px}.contact-options h2{font-size:clamp(26px,3.4vw,50px)}.contact-options h3{font-size:32px}.contact-options p{font-size:15px;line-height:1.85;color:var(--muted)}.topic-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.topic-links a{border:1px solid #b7a794;padding:14px;font-size:12px}.gallery-wall{display:grid;grid-template-columns:1fr 1fr;gap:25px}.gallery-open{background:none;border:0;padding:0;position:relative}.gallery-open:first-child{grid-column:1/-1}.gallery-open img{display:block;width:100%;height:350px;object-fit:cover}.gallery-open:first-child img{height:550px}.gallery-open span{position:absolute;bottom:15px;right:15px;background:#25211ecc;color:#fff;padding:10px;font-size:11px}.project-next{display:flex;justify-content:space-between;border-top:1px solid #c8bbae;font-size:13px}.lightbox{background:#25211e;color:#ede8df;width:min(1100px,95vw);padding:55px 20px 20px}.lightbox>img{width:100%;height:65vh;object-fit:contain}.lightbox-close{position:absolute;right:20px;top:15px;background:none;border:0}.lightbox .gallery-controls{align-items:center;font-size:12px}footer{line-height:2.5}footer p{margin:0}@media(max-width:1050px){nav{gap:13px;font-size:11px}.brand{width:155px}}@media(max-width:800px){.editorial,.contact-options{grid-template-columns:1fr;gap:20px}.route-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr 1fr}.page-intro{padding-top:55px}.lead{font-size:16px}.editorial>div>p{font-size:15px}.gallery-open img{height:230px}.gallery-open:first-child img{height:350px}.wide-image{margin:0 6%}.wide-image img{max-height:450px}.page-intro h1{font-size:46px}.route-grid h2{font-size:30px}}@media(max-width:480px){.services-grid,.gallery-wall{grid-template-columns:1fr}.gallery-open:first-child img,.gallery-open img{height:auto}.page-intro h1{font-size:40px}.project-next{gap:20px;font-size:11px}}

/* Preserve complete brand mark at all header widths. */ .brand{flex:0 0 190px;width:190px;height:90px;transform:none}.brand img{width:200px;height:auto;max-width:none;left:-5px;top:-54px}@media(max-width:800px){.brand{flex-basis:170px;width:170px;height:74px;transform:none}.brand img{width:170px;left:0;top:-47px}}


/* Portfolio completion and narrow-screen text wrapping. */.project-grid .p3{grid-column:auto;width:100%;margin:0}.project-grid .p3 .project-art{height:365px}.steps{grid-template-columns:repeat(4,minmax(0,1fr))}.steps article{min-width:0;overflow-wrap:anywhere}@media(max-width:800px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid .p3 .project-art{height:280px}}@media(max-width:480px){.project-grid .p3 .project-art{height:330px}}
