@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600&family=Italiana&display=swap');
:root{--ink:#181816;--paper:#eae6dd;--muted:#a9a598;--gold:#c3ac88;--rule:rgba(234,230,221,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}::selection{background:var(--gold);color:var(--ink)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:15px}header{position:absolute;z-index:5;left:4.3%;right:4.3%;height:126px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.brand{width:174px;display:block}.brand img{display:block;width:100%;height:82px;object-fit:contain}nav{display:flex;align-items:center;gap:44px;font-size:14px}nav a{position:relative}nav a:after,.text-link:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s}nav a:hover:after,.text-link:hover:after{transform:scaleX(1)}nav span{font-size:12px;margin-left:6px;color:var(--gold)}nav .nav-explore{margin-left:46px}.nav-explore span{font-size:21px;margin-left:22px}.hero{min-height:800px;height:100svh;max-height:1250px;position:relative;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('assets/quiet-hour-v2.jpg') center 54%/cover no-repeat;animation:heroZoom 2.8s cubic-bezier(.2,.6,.2,1) both;will-change:transform}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.47),rgba(0,0,0,.05) 85%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 48%,rgba(0,0,0,.18))}.hero-top{position:absolute;top:153px;left:4.3%;right:4.3%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.15em;text-transform:uppercase}.hero-copy{position:absolute;left:8.2%;right:8.2%;bottom:143px}.eyebrow{font-size:12px;font-weight:400;letter-spacing:.17em;line-height:1.8}.hero .eyebrow{margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Italiana',Georgia,serif;font-weight:400}h1{font-size:clamp(78px,8.8vw,150px);line-height:.98;letter-spacing:-.035em;margin-bottom:35px}em{font-family:Georgia,serif;font-weight:400}h1 em{font-size:.95em}.line{display:block;overflow:hidden;padding:0 0 .12em}.line>span{display:block;animation:revealText 1.5s cubic-bezier(.2,.7,.15,1) both}.line:nth-child(2)>span{animation-delay:.16s}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between}.hero-bottom p{font-size:16px;line-height:1.6;margin:0;color:#e1dcd2}.round-link{display:flex;align-items:center;gap:27px;font-size:14px}.round-link i{font-style:normal;width:59px;height:59px;border:1px solid #999185;border-radius:50%;display:grid;place-items:center;font-size:24px;transition:.4s}.round-link:hover i{background:var(--paper);color:var(--ink);transform:translateY(5px)}.hero-footer{position:absolute;bottom:30px;left:4.3%;right:4.3%;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#c9c3b8;letter-spacing:.035em}.scroll-note{display:flex;gap:10px;align-items:center}.scroll-note b{width:1px;height:31px;background:var(--gold);transform-origin:top;animation:scrollLine 2s infinite}.section-pad{padding:130px 6.8%}.perspective{display:grid;grid-template-columns:1fr 2.1fr;gap:50px;border-bottom:1px solid var(--rule)}.section-label{font-size:12px;letter-spacing:.13em;padding-top:15px}.tiny-line{display:block;width:55px;height:1px;background:var(--gold);margin-top:30px}h2{font-size:clamp(44px,4.1vw,70px);line-height:1.12;letter-spacing:-.025em}h2 em{color:var(--gold);font-size:.9em}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px;max-width:790px;margin-top:45px}.intro-columns p{font-size:16px;line-height:1.85;color:var(--muted);margin:0}.intro-columns p:first-child{color:var(--paper)}.work{padding-bottom:140px}.work-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:65px}.work-heading h2{margin-bottom:0}.work-heading .eyebrow{color:var(--muted);margin-bottom:25px}.collection-note{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:5px}.project-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:90px 7%}.project{background:transparent;border:0;padding:0;text-align:left;cursor:pointer;align-self:start;min-width:0}.project:nth-child(2){margin-top:150px}.project:nth-child(3){width:82%;margin-top:-60px}.last-project{margin-top:95px}.project-image{position:relative;overflow:hidden;background:#292721}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.6,.2,1),filter 1s;filter:saturate(.85)}.landscape{aspect-ratio:1.25}.portrait{aspect-ratio:.8}.bedroom{aspect-ratio:.72}.bedroom img{object-position:center 40%}.last-project .landscape img{object-position:center 43%;transform:scale(1.13)}.project:hover img{transform:scale(1.045);filter:saturate(1)}.last-project:hover img{transform:scale(1.18)}.view{position:absolute;bottom:24px;right:24px;padding:13px 18px;border:1px solid #b5a79688;background:#18181665;backdrop-filter:blur(10px);font-size:13px;opacity:0;transform:translateY(8px);transition:.35s}.project:hover .view,.project:focus-visible .view{opacity:1;transform:none}.project-info{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule)}h3{font-size:22px;font-family:'Italiana',Georgia,serif;font-weight:400;margin:0}.project-info>span{font-size:12px;color:var(--muted)}.closing{position:relative;min-height:660px;display:grid;place-items:center;overflow:hidden;text-align:center}.closing-image{position:absolute;inset:-50px 0;background:linear-gradient(#14141050,#14141070),url('assets/living.webp') center 39%/cover}.closing-inner{position:relative;padding:80px 25px}.closing h2{font-size:clamp(72px,8vw,130px);margin:35px 0;line-height:1}.closing h2 em{color:var(--paper)}.text-link{position:relative;display:inline-flex;gap:60px;font-size:14px;padding-bottom:12px;border-bottom:1px solid #c1b7a6}.text-link span{font-size:19px}footer{padding:70px 6.8% 28px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:65px}.footer-wordmark{font-size:clamp(24px,3vw,43px);letter-spacing:.18em;font-weight:400;white-space:nowrap}.footer-wordmark em{letter-spacing:0}.footer-main p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.back-top{display:flex;align-items:center;gap:25px;font-size:14px}.back-top span{font-size:24px}.footer-small{display:flex;justify-content:space-between;padding-top:25px;border-top:1px solid var(--rule);font-size:12px;color:var(--muted)}.reveal{transition:opacity .9s,transform 1.1s cubic-bezier(.2,.6,.2,1)}.js .reveal{opacity:0;transform:translateY(35px)}.js .reveal.visible{opacity:1;transform:none}.entrance{animation:fadeIn 1.8s both}dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#181816;color:var(--paper);border:0;margin:0;padding:25px 4%;overflow:auto}dialog::backdrop{background:#181816}dialog[open]{animation:fadeIn .3s}.viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:20px}.viewer-bar h2{font-size:32px;margin:5px 0 20px}.viewer-bar .eyebrow{color:var(--gold)}.viewer-bar button{background:none;border:0;cursor:pointer;font-size:14px;display:flex;gap:25px;align-items:center;padding:15px}.viewer-bar button span{font-size:32px}.viewer-image{height:calc(100dvh - 220px);min-height:250px}.viewer-image img{width:100%;height:100%;object-fit:contain}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0}.viewer-bottom p{color:var(--muted);line-height:1.6;margin:0;max-width:680px;font-size:14px}.viewer-bottom>div{display:flex;gap:15px}.viewer-bottom button{width:48px;height:48px;border:1px solid var(--rule);background:transparent;border-radius:50%;font-size:24px;cursor:pointer}.viewer-bottom button:hover{background:var(--paper);color:var(--ink)}@keyframes heroZoom{from{transform:scale(1.07)}to{transform:scale(1)}}@keyframes revealText{from{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scrollLine{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
@media(min-width:1800px){.section-pad,footer{padding-left:max(6.8%,calc((100vw - 1560px)/2));padding-right:max(6.8%,calc((100vw - 1560px)/2))}}@media(max-width:900px){header{height:105px}.brand{width:150px}nav{gap:26px}nav .nav-explore{display:none}.hero-top{top:133px}.hero-copy{left:6.8%;right:6.8%}h1{font-size:clamp(76px,11vw,110px)}.perspective{grid-template-columns:1fr;gap:40px}.tiny-line{display:none}.section-pad{padding-top:85px;padding-bottom:85px}.project-grid{gap:65px 6%}.project-info{display:block}.project-info h3{margin-bottom:9px}.footer-main{flex-wrap:wrap}.footer-main p{margin-left:auto}.back-top{width:100%}}
@media(max-width:600px){header{left:6%;right:6%;height:100px}.brand{width:122px}.brand img{height:69px}nav{gap:18px;font-size:12px}nav span{display:none}nav a:nth-child(2){display:none}.hero{height:94svh;min-height:690px;max-height:1000px}.hero-image{background-position:56% center}.hero-shade{background:linear-gradient(0deg,#000b,transparent 80%),linear-gradient(90deg,#0004,transparent)}.hero-top{top:125px;left:6%;right:6%;font-size:10px;letter-spacing:.11em}.hero-top span:last-child{display:none}.hero-copy{bottom:120px}.hero .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:28px}h1{font-size:clamp(55px,13vw,78px);margin-bottom:32px}.hero-bottom{align-items:center;gap:20px}.hero-bottom p{font-size:14px}.round-link{gap:0}.round-link>span{display:none}.round-link i{width:50px;height:50px}.hero-footer{left:6%;right:6%;bottom:25px;font-size:10px}.hero-footer>span:last-child{display:none}.scroll-note{font-size:10px}.section-pad{padding:70px 6%}.section-label{font-size:11px}.perspective{gap:25px}h2{font-size:43px}.intro-columns{grid-template-columns:1fr;gap:24px;margin-top:30px}.intro-columns p{font-size:16px}.work-heading{display:block;margin-bottom:35px}.collection-note{display:none}.work-heading .eyebrow{font-size:11px;margin-bottom:16px}.project-grid{grid-template-columns:1fr;gap:45px}.project:nth-child(2),.project:nth-child(3),.last-project{margin-top:0;width:100%}.project-info{display:flex;align-items:baseline;padding:18px 0}.project-info h3{font-size:25px;margin:0}.project-info>span{font-size:11px}.portrait{aspect-ratio:.85}.bedroom{aspect-ratio:.8}.view{opacity:1;transform:none;font-size:12px;bottom:15px;right:15px;padding:10px 13px}.closing{min-height:500px}.closing h2{font-size:72px}.closing .eyebrow{font-size:10px}.closing-image{background-position:45% center}.footer-main{display:block;padding-bottom:35px}.footer-main p{margin:25px 0}.footer-wordmark{font-size:29px}.back-top{margin-top:35px}.footer-small{gap:25px;font-size:10px}.viewer-bar h2{font-size:26px}.viewer-bottom{align-items:flex-start}.viewer-bottom p{font-size:12px}.viewer-bottom>div{gap:7px}.viewer-bottom button{width:40px;height:40px}.viewer-image{height:calc(100dvh - 260px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
/* Full compositions: images retain their native proportions at every viewport. */
.project-image,.project-image.landscape,.project-image.portrait,.project-image.bedroom{aspect-ratio:auto;overflow:visible;background:none}
.project-image img,.last-project .landscape img,.project:hover img,.last-project:hover img{height:auto;object-fit:contain;transform:none;filter:none;transition:none}
.project-image .view{position:static;display:block;width:max-content;margin:15px 0 0 auto;opacity:1;transform:none;background:none;padding:0;border:0;color:var(--gold);font-size:14px}
.project:hover .view{color:var(--paper)}
header{position:relative;margin:0 4.3%;left:auto;right:auto;height:126px}
nav{gap:35px;font-size:14px}nav a[aria-current=page]{color:var(--gold)}nav .contact-nav{margin-left:30px}nav .contact-nav span{font-size:21px}
.full-image-hero{height:auto;min-height:0;max-height:none;overflow:visible;padding:0 4.3%}
.hero-intro{padding:75px 4.3% 40px}.hero-intro>.eyebrow{margin-bottom:25px;color:var(--gold)}
.hero-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.hero-title-row h1{font-size:clamp(65px,7.7vw,130px);margin-bottom:0}.hero-side{padding-bottom:22px}.hero-side p{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:30px}
.hero-art{margin:0}.hero-art>img{width:100%;height:auto;display:block;object-fit:contain}.hero-art figcaption{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:20px 0;color:var(--muted)}
.full-image-closing{display:grid;grid-template-columns:1fr 1fr;min-height:0;text-align:left;overflow:visible;background:#20201d}.full-image-closing figure{margin:0}.full-image-closing figure img{width:100%;height:auto;display:block}.full-image-closing .closing-inner{padding:50px 12%;align-self:center}.full-image-closing h2{font-size:clamp(50px,5vw,88px)}.closing-description{line-height:1.8;color:var(--muted);margin-bottom:30px;max-width:450px}
.footer-links{display:flex;gap:30px}.footer-links a:hover{color:var(--paper)}
.page-intro{padding:85px 8% 80px;border-bottom:1px solid var(--rule)}.page-intro>.eyebrow{color:var(--gold);margin-bottom:32px}.page-intro h1{font-size:clamp(60px,7.5vw,122px);line-height:1.07;letter-spacing:-.035em;margin-bottom:32px}.page-intro h1 em{color:var(--gold);font-size:.88em}.page-lead{max-width:620px;line-height:1.85;font-size:18px;color:var(--muted);margin-bottom:0}
.service-feature{display:grid;grid-template-columns:1fr 2fr;gap:50px;background:#20201d}.service-number{font-size:12px;letter-spacing:.15em;color:var(--gold);padding-top:10px}.service-feature h2{margin-bottom:15px}.service-subtitle{color:var(--gold);font-size:16px}.service-description{max-width:590px;line-height:1.8;color:var(--muted)}.price-row{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:35px 0 20px}.price{font-size:clamp(30px,3.4vw,48px);font-family:'Italiana',Georgia,serif}.revision-label{font-size:14px;border:1px solid #c3ac8870;padding:9px 15px;color:var(--gold)}.service-includes{padding:0;margin:0 0 35px;list-style:none;max-width:650px}.service-includes li{padding:13px 0;border-bottom:1px solid var(--rule);line-height:1.6;font-size:16px}.solid-link{display:inline-flex;gap:40px;justify-content:space-between;align-items:center;background:var(--paper);color:var(--ink);padding:19px 25px;border:1px solid var(--paper);font:inherit;font-size:16px;cursor:pointer;transition:background .25s}.solid-link:hover{background:var(--gold)}.solid-link span{font-size:21px}.price-note{font-size:14px;line-height:1.7;color:var(--muted);margin:20px 0 0}.services-list{padding-top:95px}.service-row{display:grid;grid-template-columns:45px 1fr 215px;gap:24px;align-items:start;padding:35px 0;border-top:1px solid var(--rule)}.service-row:last-child{border-bottom:1px solid var(--rule)}.service-index{font-size:13px;color:var(--gold);padding-top:8px}.service-row h3{font-size:32px;line-height:1.25}.service-row p{color:var(--muted);max-width:600px;font-size:16px;line-height:1.75;margin:15px 0 0}.service-price{font-size:14px;padding-top:8px;display:flex;justify-content:space-between;gap:25px}.service-price b{font-size:23px;font-weight:400;color:var(--gold);transition:transform .25s}.service-row:hover b{transform:translate(4px,-4px)}.service-row:hover h3{color:var(--gold)}.page-cta{border-top:1px solid var(--rule);background:#20201d}.page-cta>.eyebrow{color:var(--gold);margin-bottom:30px}.page-cta h2{margin-bottom:35px}
.about-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:start}.about-art{margin:0}.about-art img{width:100%;height:auto;display:block;object-fit:contain}.about-art figcaption{font-size:12px;line-height:1.7;color:var(--muted);padding-top:18px}.about-story{padding-top:20px}.about-story>.eyebrow{color:var(--gold)}.about-story h2{font-size:clamp(36px,3.4vw,58px);margin:30px 0}.about-story>p:not(.eyebrow){font-size:17px;line-height:1.9;color:var(--muted);margin-bottom:25px}.about-story .text-link{margin-top:15px}.journey{padding-top:0}.journey>.eyebrow{margin-bottom:35px;color:var(--gold)}.journey-row{border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:35px 0}.journey-row>span{font-size:12px;letter-spacing:.12em;color:var(--gold);padding-top:8px}.journey-row h3{font-size:30px;line-height:1.3}.journey-row p{line-height:1.8;color:var(--muted);margin:15px 0 0}
.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;padding-top:90px}.contact-copy h2{font-size:clamp(40px,3.6vw,58px)}.contact-copy>p{color:var(--muted);line-height:1.9;font-size:17px}.contact-details{margin:45px 0}.contact-details>.eyebrow{color:var(--gold)}.contact-details>p:last-child{color:var(--muted);line-height:2}.form-field{margin-bottom:32px}.form-field label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:16px;margin-bottom:14px}.form-field label span{font-size:12px;color:var(--muted)}.form-field input,.form-field textarea,.form-field select{font:inherit;font-size:16px;line-height:1.65;width:100%;padding:15px 17px;border:1px solid #777467;background:#20201d;color:var(--paper);border-radius:0}.form-field textarea{resize:vertical;min-height:150px}.form-field input::placeholder,.form-field textarea::placeholder{color:#a9a598}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid var(--gold);outline-offset:3px}.form-status{font-size:14px;line-height:1.7;color:var(--muted);margin-top:20px}.contact-form .solid-link{width:100%}.solid-link:disabled{cursor:not-allowed;opacity:.5}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.hero-title-row{align-items:flex-start}.hero-side{max-width:200px}.hero-side .text-link{gap:20px}.full-image-closing .closing-inner{padding:35px 9%}.service-feature{grid-template-columns:1fr;gap:35px}.service-row{grid-template-columns:30px 1fr}.service-price{grid-column:2;max-width:230px}.about-layout{gap:6%}.about-story{padding-top:0}.about-story h2{font-size:36px}.contact-layout{gap:7%}.page-intro{padding-left:6.8%;padding-right:6.8%}}
@media(max-width:600px){header{margin:0 6%;height:auto;min-height:125px;flex-wrap:wrap;padding:10px 0 17px;gap:0}.brand{width:110px}.brand img{height:63px}nav{width:100%;gap:0;justify-content:space-between;font-size:14px}nav a:nth-child(2){display:block}nav .contact-nav{margin-left:0}nav span{display:none}.full-image-hero{padding:0 6%;height:auto;min-height:0}.hero-intro{padding:45px 0 25px}.hero-title-row{display:block}.hero-title-row h1{font-size:clamp(52px,12.7vw,75px)}.hero-side{max-width:none;padding-bottom:0;margin-top:20px}.hero-side p{font-size:16px;margin-bottom:15px}.hero-side .text-link{gap:40px}.hero-intro>.eyebrow{font-size:12px;line-height:1.7;letter-spacing:.1em}.hero-art figcaption{font-size:12px;line-height:1.6}.hero-art figcaption>span:last-child{display:none}.project-info{flex-wrap:wrap}.project-info>span{font-size:12px}.full-image-closing{grid-template-columns:1fr}.full-image-closing .closing-inner{padding:55px 6%}.full-image-closing h2{font-size:66px}.closing .eyebrow{font-size:12px}.footer-small{font-size:12px;flex-wrap:wrap}.footer-links{gap:25px}.page-intro{padding:55px 6% 50px}.page-intro h1{font-size:clamp(48px,11vw,68px);line-height:1.12}.page-lead{font-size:16px}.service-feature{gap:30px}.service-feature h2{font-size:42px}.price-row{gap:15px}.price{font-size:36px}.solid-link{font-size:14px;padding:17px 18px;gap:20px}.service-row{gap:14px;padding:27px 0}.service-row h3{font-size:27px}.service-row p{font-size:16px}.service-price{font-size:14px}.page-cta h2{font-size:42px}.about-layout{grid-template-columns:1fr;gap:45px}.about-art{max-width:100%}.about-story h2{font-size:42px}.about-story>p:not(.eyebrow){font-size:16px}.journey{padding-top:0}.journey-row{grid-template-columns:1fr;gap:17px}.journey-row h3{font-size:28px}.contact-layout{grid-template-columns:1fr;gap:50px;padding-top:50px}.contact-copy h2{font-size:42px}.contact-details{margin:30px 0}.contact-copy>p{font-size:16px}.eyebrow,.section-label{font-size:12px}.text-link{gap:25px}}
/* Motion follows the architectural language without cropping the artwork. */
.hero-intro{position:relative;isolation:isolate}.hero-intro>.eyebrow,.hero-title-row{position:relative;z-index:1}
.ambient-light{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 380px 230px at var(--light-x,75%) var(--light-y,45%),#c3ac8817,transparent 80%);opacity:.8;animation:lightBreath 8s ease-in-out infinite alternate}
.material-cycle{display:flex;align-items:center;gap:16px;min-height:45px;margin:0 0 26px;border-left:1px solid var(--gold);padding-left:16px}.material-cycle>span:first-child{font-size:12px;letter-spacing:.12em;color:var(--muted)}#changing-word{font-family:'Italiana',Georgia,serif;font-size:27px;color:var(--gold);display:inline-block;min-width:155px}
.hero-art{position:relative}.drawn-frame{position:absolute;inset:-7px -7px 39px;pointer-events:none;z-index:2}.drawn-frame i{position:absolute;background:var(--gold)}.drawn-frame i:nth-child(1){top:0;left:0;width:100%;height:1px;transform-origin:left;animation:drawHorizontal 1.8s .2s both}.drawn-frame i:nth-child(2){top:0;right:0;width:1px;height:100%;transform-origin:top;animation:drawVertical 1.4s 1.1s both}.drawn-frame i:nth-child(3){bottom:0;right:0;width:100%;height:1px;transform-origin:right;animation:drawHorizontal 1.8s 1.8s both}.drawn-frame i:nth-child(4){bottom:0;left:0;width:1px;height:100%;transform-origin:bottom;animation:drawVertical 1.4s 2.6s both}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;z-index:40;pointer-events:none}
.project-image img{transition:box-shadow .6s ease,translate .6s ease}.project:hover .project-image img,.project:focus-visible .project-image img{translate:0 -5px;box-shadow:0 18px 40px #0006}.project-info{transition:border-color .4s}.project:hover .project-info{border-color:var(--gold)}.service-row{transition:padding .4s,border-color .4s}.service-row:hover{border-color:var(--gold)}.direct-email a{font-size:clamp(16px,1.7vw,22px);color:var(--paper);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;overflow-wrap:anywhere}.solid-link:active{transform:translateY(2px)}
@keyframes drawHorizontal{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes drawVertical{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes lightBreath{from{opacity:.3}to{opacity:1}}
@media(max-width:600px){.material-cycle{margin:20px 0}.drawn-frame{inset:-5px -5px 55px}.ambient-light{background:radial-gradient(ellipse at 70% 30%,#c3ac8812,transparent 75%)}.hero-art figcaption{min-height:55px}}
@media(prefers-reduced-motion:reduce){.ambient-light{animation:none}.drawn-frame i{animation:none}.project:hover .project-image img,.project:focus-visible .project-image img{translate:none}.reading-progress{display:none}}
/* Final finish: a warm pool of light, fine rules, and generous social links. */
.cursor-light{position:fixed;inset:0;overflow:hidden;pointer-events:none!important;z-index:30;opacity:0;mix-blend-mode:screen;transition:opacity .65s ease;contain:strict}
.cursor-light.is-visible{opacity:1}.cursor-light.is-visible.over-art{opacity:.18}
.cursor-halo{position:absolute;top:0;left:0;width:720px;height:720px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,190,104,.17) 0%,rgba(232,159,78,.12) 16%,rgba(201,135,67,.06) 35%,rgba(181,119,62,.018) 53%,transparent 70%);will-change:transform}
.ambient-light{opacity:.45;animation:none;background:radial-gradient(ellipse at 80% 30%,#c3ac8810,transparent 70%)}
.hero-picture{position:relative}.hero-picture>img{display:block;width:100%;height:auto;object-fit:contain}.hero-picture .drawn-frame{inset:-7px}
.hero-art figcaption{padding-top:25px}.hero-title-row{gap:clamp(30px,5vw,90px)}.hero-side{flex-shrink:0}.page-intro h1,.perspective h2,.page-cta h2{text-wrap:balance}.page-lead,.service-description,.closing-description{text-wrap:pretty}
.footer-social{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px;margin-bottom:45px;border-bottom:1px solid var(--rule)}.social-caption{font-family:'Italiana',Georgia,serif;font-size:28px;color:var(--gold)}
.instagram-link{display:inline-flex;align-items:center;gap:13px;min-height:44px;padding:8px 0;font-size:15px;color:var(--paper)}.instagram-link svg{width:21px;height:21px;flex-shrink:0}.social-arrow{font-size:23px;margin-left:18px;color:var(--gold);transition:transform .35s}.instagram-link:hover .social-arrow,.instagram-link:focus-visible .social-arrow{transform:translate(3px,-3px)}.instagram-link:hover{color:var(--gold)}.contact-social{margin-top:24px}
nav a{padding:8px 0}nav a[aria-current=page]:after{transform:scaleX(1);height:1px;opacity:.6}nav a:after{bottom:0}.text-link>span,.back-top>span{display:inline-block;transition:transform .35s}.text-link:hover>span,.back-top:hover>span{transform:translate(3px,-3px)}.solid-link{transition:background .3s,box-shadow .3s,transform .2s}.solid-link:hover:not(:disabled){box-shadow:0 8px 25px #0002}.form-field input,.form-field textarea,.form-field select{transition:border-color .3s,background .3s}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:var(--gold)}
.service-row{position:relative}.service-row:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#c3ac8808,transparent 65%);opacity:0;transition:opacity .4s}.service-row:hover:before,.service-row:focus-visible:before{opacity:1}.service-row>div,.service-row>span{position:relative}.footer-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.footer-small{align-items:center}.footer-main{gap:30px}.footer-main>p{max-width:310px}.footer-wordmark{letter-spacing:.13em}
@media(max-width:900px){.hero-side{flex-shrink:1}.footer-social{margin-bottom:35px}.social-caption{font-size:25px}}
@media(max-width:600px){.footer-social{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:25px;margin-bottom:30px}.social-caption{font-size:27px}.instagram-link{font-size:15px}.hero-picture .drawn-frame{inset:-5px}.hero-title-row{gap:25px}.hero-art figcaption{flex-wrap:wrap}.footer-links{flex-wrap:wrap;gap:8px 24px}.footer-small{row-gap:12px}.footer-wordmark{font-size:clamp(23px,7vw,29px)}nav a{min-height:44px;display:inline-flex;align-items:center}nav a:nth-child(2){display:inline-flex}.page-intro h1{overflow-wrap:normal}.contact-social{margin-top:20px}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-light{display:none}.cursor-halo{will-change:auto}}
@media(prefers-reduced-motion:reduce){.social-arrow,.text-link>span,.back-top>span{transition:none}.instagram-link:hover .social-arrow,.text-link:hover>span,.back-top:hover>span{transform:none}}
