:root{--ground:#191e1e;--panel:#242b2a;--deep:#121717;--ink:#f0eeea;--muted:#c1c5c0;--accent:#c9b795;--line:#49514e;--serif:Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;background:var(--ground);color:var(--ink);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;font-size:1rem;line-height:1.7}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-underline-offset:.4em}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.09;letter-spacing:-.026em}h2{font-size:clamp(2.6rem,4.1vw,4rem)}h3{font-size:1.8rem;line-height:1.23}p{max-width:57ch}.wrap{width:min(1340px,calc(100% - 8rem));margin-inline:auto}.header{position:absolute;z-index:5;top:1.5rem;left:2rem;right:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.6rem 2rem;background:rgba(19,26,25,.83);border:1px solid rgba(236,236,224,.16);backdrop-filter:blur(16px);border-radius:5px}.brand{display:flex;align-items:center;gap:1.2rem;text-decoration:none;font-size:.875rem;line-height:1.4;flex-shrink:0}.brand img{width:138px;height:88px;object-fit:contain;filter:grayscale(1) brightness(0) invert(.95)}.brand small{font-size:.75rem}.header nav{display:flex;align-items:center;gap:2rem;font-size:.9rem}.header nav a{text-decoration:none;padding-block:.45rem}.header nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--accent)}.menu-toggle{display:none}.hero{position:relative;min-height:800px;height:min(940px,95svh);display:flex;align-items:flex-end;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,17,16,.77),rgba(10,17,16,.17) 78%),linear-gradient(0deg,rgba(10,17,16,.8),transparent 66%)}.hero-content{padding-block:12rem 5rem}.hero h1{font-size:clamp(4.25rem,7.6vw,7.8rem);line-height:1.04;max-width:none;text-shadow:0 2px 18px #0002;margin-bottom:2.7rem}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:3rem}.hero-bottom p{color:#e4e5df;font-size:1.12rem;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #d1c6ad;background:rgba(15,23,21,.2);padding:1rem 1.6rem;font-size:.95rem;white-space:nowrap;transition:background .2s,color .2s}.button:hover{background:var(--accent);color:var(--deep)}.intro{display:block;text-align:center;padding-block:6.5rem}.intro-copy{max-width:960px;margin-inline:auto}.section-label{font-size:.9rem;color:var(--accent);margin-bottom:1.5rem}.intro h2{font-size:clamp(2.4rem,3.5vw,3.55rem)}.intro-copy>p{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3rem);line-height:1.33;letter-spacing:-.015em;max-width:42ch;margin-inline:auto}.intro-copy>span{display:block;font-size:1.05rem;color:var(--muted);margin-top:1.8rem}.projects{background:var(--panel);padding-block:6rem}.projects-heading{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:end;margin-bottom:3.7rem}.projects-copy p{color:var(--muted);font-size:1rem;line-height:1.8}.projects-copy p+p{margin-top:1rem}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3.5rem 2rem}.project-card{min-width:0}.photo-button{display:block;position:relative;padding:0;border:0;cursor:zoom-in;width:100%;overflow:hidden;background:#111715;text-align:left}.photo-button img{display:block;width:100%;height:440px;object-fit:cover;transition:transform .6s ease}.photo-button:hover img{transform:scale(1.025)}.photo-action{position:absolute;right:1rem;bottom:1rem;padding:.3rem .7rem;background:#151b19b8;backdrop-filter:blur(6px);font-size:.875rem}.project-card:nth-child(2){padding-top:4rem}.project-card:nth-child(2) .photo-button img{height:376px}.project-card:nth-child(3) .photo-button img{height:410px}.project-card:nth-child(4) .photo-button img{height:410px}.project-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1.2rem}.project-card figcaption h3{font-size:1.65rem}.project-card figcaption>span{font-size:.875rem;color:var(--muted)}.project-footnote{display:flex;justify-content:space-between;gap:2rem;align-items:baseline;margin-top:3rem;padding-top:1.7rem;border-top:1px solid var(--line);color:var(--muted)}.project-footnote p{font-size:.95rem}.project-footnote small{font-size:.875rem;max-width:36ch}.audiences{padding-block:6rem}.audience-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:6rem;align-items:start;margin-bottom:3.2rem}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.audience-grid article{padding-top:1.7rem;border-top:1px solid var(--line)}.audience-grid h3{margin-bottom:1.2rem}.audience-grid p{color:var(--muted);font-size:1rem;line-height:1.8}.expertise{padding-block:5rem;background:var(--deep)}.expertise-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:6rem}.expertise h2{font-size:clamp(2.6rem,3.5vw,3.55rem)}.expertise-list article+article{border-top:1px solid var(--line);margin-top:1.8rem;padding-top:1.8rem}.expertise-list h3{font-size:1.65rem;margin-bottom:.8rem}.expertise-list p{color:var(--muted);font-size:1rem;line-height:1.8}.contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;padding-block:5.5rem}.contact h2{font-size:clamp(3.2rem,5.4vw,5.5rem);margin-bottom:1rem}.contact>div>p:last-child{color:var(--muted)}.contact-detail{padding-bottom:.7rem}.contact .email{font-size:1.55rem;margin-bottom:.5rem}.contact .pending{font-size:.9rem;color:var(--muted)}.footer{border-top:1px solid var(--line);padding-block:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.875rem}.footer a{text-decoration:none}.footer a:hover{color:var(--ink)}.footer-brand{display:flex;gap:1rem;align-items:center}.footer-brand img{width:88px;height:56px;object-fit:contain;filter:grayscale(1) brightness(0) invert(.95)}.photo-dialog{width:min(1100px,calc(100% - 3rem));max-height:94svh;margin:auto;border:1px solid #69726a;background:var(--ground);padding:1.4rem;color:var(--ink)}.photo-dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.dialog-top h2{font-size:1.6rem}.dialog-close{background:none;border:1px solid var(--line);cursor:pointer;padding:.45rem .8rem;font-size:.9rem;display:flex;align-items:center;gap:1rem}.dialog-close span{font-size:1.4rem;line-height:1}.dialog-image{display:block;width:100%;max-height:72svh;object-fit:contain}.photo-dialog>p{margin-top:.8rem;font-size:.875rem;color:var(--muted)}.skip{position:absolute;top:-100px;left:1rem;padding:.8rem;background:var(--ink);color:var(--deep);z-index:20}.skip:focus{top:1rem}@media(max-width:1150px){.wrap{width:calc(100% - 5rem)}.header{left:1.2rem;right:1.2rem;padding:.5rem 1.2rem;gap:1rem}.header nav{gap:1.1rem;font-size:.875rem}.brand{gap:.6rem}.brand img{width:112px;height:80px}.brand>span{font-size:.8rem}.intro,.projects-heading,.audience-heading,.expertise-layout{gap:3rem}.project-card figcaption{display:block}.project-card figcaption>span{display:block;margin-top:.45rem}.photo-button img{height:360px}.project-card:nth-child(2) .photo-button img{height:296px}.project-card:nth-child(3) .photo-button img,.project-card:nth-child(4) .photo-button img{height:330px}.hero{min-height:720px}.audience-grid{gap:2rem}}@media(max-width:850px){.header{flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;gap:.8rem;background:none;border:0;padding:.6rem;font-size:.9rem;cursor:pointer}.menu-toggle span{font-size:1.1rem}.header nav{display:none;width:100%;padding:.6rem 0 1rem;flex-wrap:wrap;gap:.6rem 1.4rem;border-top:1px solid #69726a}.header nav.is-open{display:flex}.brand img{width:112px;height:74px}.hero h1{font-size:clamp(3.8rem,9vw,6rem)}.hero-bottom{align-items:start;flex-direction:column;gap:1.8rem}.hero{min-height:760px}.hero-content{padding-bottom:3rem}.intro-copy>p{font-size:2rem}.projects-heading,.expertise-layout{grid-template-columns:1fr}.projects-copy{max-width:65ch}.audience-grid{grid-template-columns:1fr}.audience-grid article{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}.project-footnote{display:block}.project-footnote small{display:block;margin-top:.8rem;max-width:none}}@media(max-width:600px){.wrap{width:calc(100% - 2.6rem)}.header{top:.8rem;left:.8rem;right:.8rem;padding:.3rem .7rem}.brand{gap:.3rem}.brand img{width:92px;height:68px}.brand>span{font-size:.75rem}.brand small{font-size:.75rem}.hero{min-height:690px;height:92svh;max-height:840px}.hero-image{object-position:63% center}.hero-shade{background:linear-gradient(0deg,rgba(8,15,13,.94),rgba(8,15,13,.13) 100%)}.hero-content{padding-top:9rem;padding-bottom:2.5rem}.hero h1{font-size:clamp(2.8rem,11.8vw,4rem);line-height:1.07;margin-bottom:1.7rem}.hero-bottom p{font-size:1rem;line-height:1.8}.hero-bottom p br{display:none}.button{font-size:.9rem;padding:.8rem 1.2rem;white-space:normal}.intro{grid-template-columns:1fr;gap:1.8rem;padding-block:3.5rem}.section-label{margin-bottom:1rem}.intro h2{font-size:2.5rem}.intro-copy>p{font-size:1.85rem}.intro-copy>span{margin-top:1.3rem}.projects{padding-block:3.5rem}.projects-heading{gap:1.7rem;margin-bottom:2.2rem}.projects h2{font-size:2.65rem}.project-grid{grid-template-columns:1fr;gap:2.1rem}.project-card:nth-child(2){padding-top:0}.photo-button img,.project-card:nth-child(2) .photo-button img,.project-card:nth-child(3) .photo-button img,.project-card:nth-child(4) .photo-button img{height:auto;aspect-ratio:4/3}.project-card figcaption h3{font-size:1.6rem}.project-card figcaption{margin-top:1rem}.project-footnote{margin-top:2rem;padding-top:1.4rem}.audiences{padding-block:3.5rem}.audience-heading{grid-template-columns:1fr;gap:0;margin-bottom:2rem}.audience-heading h2{font-size:2.65rem}.audience-grid{gap:1.7rem}.audience-grid article{display:block;padding-top:1.3rem}.audience-grid h3{font-size:1.65rem;margin-bottom:.8rem}.expertise{padding-block:3.5rem}.expertise-layout{gap:2rem}.expertise h2{font-size:2.65rem}.expertise-list h3{font-size:1.5rem}.contact{grid-template-columns:1fr;gap:2rem;padding-block:3.5rem}.contact h2{font-size:3.3rem}.contact .email{font-size:1.3rem}.footer{align-items:flex-start;flex-direction:column;gap:1rem;padding-block:1.3rem}.footer-brand img{width:72px;height:48px}.photo-dialog{width:calc(100% - 1rem);padding:.8rem}.dialog-top h2{font-size:1.25rem}.dialog-close{font-size:.875rem;padding:.4rem .5rem}.dialog-top{gap:.5rem}.dialog-image{max-height:65svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-button img,.button{transition:none}}

.intro-copy>span{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3rem);line-height:1.33;letter-spacing:-.015em;color:var(--ink);max-width:42ch;margin-inline:auto}
@media(max-width:850px){.intro-copy>span{font-size:2rem}}
@media(max-width:600px){.intro-copy>span{font-size:1.85rem}}

.hero-bottom{justify-content:flex-end}.intro-copy>p.intro-audience{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:1.35rem;line-height:1.8;letter-spacing:normal;color:#e4e5df;margin:2rem auto 0;max-width:57ch}
@media(max-width:600px){.intro-copy>p.intro-audience{font-size:1.15rem}.intro-audience br{display:none}}

.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:nth-child(2){padding-top:0}.project-card .photo-button img,.project-card:nth-child(2) .photo-button img,.project-card:nth-child(3) .photo-button img,.project-card:nth-child(4) .photo-button img{height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}}

/* Unified ivory website logo; stationery uses separate navy/gold files. */
.brand img{width:240px;height:auto;max-width:100%;object-fit:contain;filter:none}.footer-brand img{width:220px;height:auto;object-fit:contain;filter:none}
@media(max-width:850px){.brand img{width:200px}}
@media(max-width:600px){.brand img{width:170px}.footer-brand img{width:190px}}

/* Original approved logo, with its soft glow; frame trims presentation whitespace. */
.brand,.footer-brand{display:block;width:240px;height:104px;overflow:hidden;flex-shrink:0}
.brand img,.footer-brand img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transform:scale(1.5);filter:none}
.footer-brand{width:220px;height:96px}
@media(max-width:850px){.brand{width:200px;height:87px}}
@media(max-width:600px){.brand{width:170px;height:74px}.footer-brand{width:190px;height:83px}}

.footer-address{font-style:normal;text-align:right;line-height:1.65;margin-left:auto}
@media(max-width:600px){.footer-address{text-align:left;margin-left:0}}

.footer-email{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.8rem 1.1rem;border:1px solid var(--accent);border-radius:3px;text-decoration:none;white-space:nowrap;color:var(--ink);transition:background .2s,color .2s}.footer-email:hover{background:var(--accent);color:var(--deep)}.footer-email svg{flex-shrink:0}@media(max-width:850px){.footer{flex-wrap:wrap}.footer-email{margin-left:auto}}@media(max-width:600px){.footer-email{margin-left:0;margin-top:.5rem}}

/* Separate contact page, matching the approved website identity. */
.contact-page .header{position:relative;top:auto;left:auto;right:auto;margin:1.5rem 2rem}
.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem);padding-block:4rem 6rem;align-items:start}
.contact-lead h1{font-size:clamp(3.2rem,5vw,5.3rem);margin:2rem 0 1.7rem}
.back-link{font-size:.9rem;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--ink)}
.contact-lead p{font-size:1.1rem;color:var(--muted);max-width:36ch}
.contact-lead address{font-style:normal;margin-top:3rem;color:var(--muted);line-height:1.8}
.contact-form-panel{padding:2.3rem;background:var(--panel);border-top:2px solid var(--accent)}
.contact-form-panel h2{font-size:2.25rem;margin-bottom:1rem}.form-intro{color:var(--muted);font-size:.9rem;margin-bottom:1.7rem}
.contact-form{display:grid;gap:1.2rem}.form-field{display:grid;gap:.45rem}.form-field label{font-size:.95rem}.form-field label span{font-size:.85rem;color:var(--muted)}
.form-field input,.form-field textarea{width:100%;min-width:0;min-height:48px;border:1px solid #68716b;border-radius:2px;background:var(--ground);color:var(--ink);font:inherit;font-size:1rem;padding:.75rem .85rem}.form-field textarea{resize:vertical;line-height:1.6;min-height:150px}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.form-privacy,.direct-contact{font-size:.8rem;color:var(--muted);line-height:1.6}.direct-contact{margin-top:1.5rem}.direct-contact a{color:var(--ink)}
.form-submit{justify-self:start;gap:1rem;background:var(--accent);color:var(--deep);cursor:pointer}.form-submit:hover{background:var(--ink)}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-notice{padding:1.2rem;border:1px solid var(--accent);margin-bottom:1.5rem}.form-notice h3{font-size:1.4rem;margin-bottom:.6rem}.form-notice ul{padding-left:1.2rem;margin:.5rem 0}.form-notice p{margin-bottom:1rem}.form-error{border-color:#dfb6a1}.form-error li{font-size:.9rem}
@media(max-width:850px){.contact-page .header{margin:1.2rem}.contact-main{grid-template-columns:1fr;gap:2.5rem;padding-block:2.5rem 4rem}.contact-lead h1 br{display:none}.contact-lead p{max-width:50ch}.contact-lead address{margin-top:1.5rem}}
@media(max-width:600px){.contact-page .header{margin:.8rem}.contact-main{padding-top:1.5rem}.contact-lead h1{font-size:3rem;margin-top:1.5rem}.contact-form-panel{padding:1.4rem 1.1rem}.form-submit{width:100%}}

/* About: project preparation as a moving, layered scene. */
.about-page{min-height:100svh;display:flex;flex-direction:column}
.about-page .header{position:relative;top:auto;left:auto;right:auto;margin:1.5rem 2rem}
.about-page nav a[aria-current="page"]{color:var(--accent);border-bottom:1px solid var(--accent)}
.about-main{flex:1;padding-block:2rem 5rem}
.about-visual{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,5vw,5.5rem);margin-top:2.8rem;align-items:center}
.about-visual h1{font-size:clamp(3.3rem,5.2vw,5.5rem);max-width:12ch;text-wrap:balance}
.about-scene{position:relative;min-width:0;margin:0 1rem 0 0}
.about-photo{overflow:hidden;background:var(--panel);aspect-ratio:1.14}
.about-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:57% 50%}
.floating-tool{position:absolute;pointer-events:none;filter:drop-shadow(0 16px 12px #0006);transform-origin:center}
.floating-tool svg{display:block;width:100%;height:auto}
.tool-hammer{width:clamp(110px,12vw,170px);left:-9%;top:-5%;transform:rotate(-24deg)}
.tool-square{width:clamp(100px,11vw,155px);right:-7%;top:37%;transform:rotate(19deg)}
.tool-pencil{width:clamp(120px,14vw,190px);left:3%;bottom:8%;transform:rotate(-22deg)}
.about-copy{max-width:66ch;margin:4rem auto 0;font-size:clamp(1.1rem,1.35vw,1.3rem);line-height:1.8;color:var(--muted)}
.about-copy p{max-width:none}.about-copy p+p{margin-top:1.4rem}
.motion-toggle{position:absolute;bottom:.7rem;right:.7rem;border:1px solid #b7aa8b80;background:#131a19e8;padding:.35rem .65rem;font-size:.75rem;cursor:pointer}.motion-toggle[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){
 .has-motion .tool-hammer{animation:hammer-float 11s ease-in-out infinite}
 .has-motion .tool-square{animation:square-float 13s ease-in-out infinite;animation-delay:-4s}.has-motion .tool-pencil{animation:pencil-float 10s ease-in-out infinite;animation-delay:-2s}
 .has-motion .about-photo img{animation:scene-drift 20s ease-in-out infinite alternate}
 .has-motion .about-visual h1{animation:about-arrive .9s ease-out both}
 .motion-paused .floating-tool,.motion-paused .about-photo img,.motion-paused .about-visual h1{animation-play-state:paused}
}
@keyframes hammer-float{0%,100%{transform:translate(0,0) rotate(-24deg)}50%{transform:translate(12px,18px) rotate(-8deg)}}
@keyframes square-float{0%,100%{transform:translate(0,0) rotate(19deg)}50%{transform:translate(-12px,-20px) rotate(4deg)}}
@keyframes pencil-float{0%,100%{transform:translate(0,0) rotate(-22deg)}50%{transform:translate(24px,-13px) rotate(-8deg)}}
@keyframes scene-drift{from{transform:scale(1.01)}to{transform:scale(1.07)}}
@keyframes about-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.about-page .header{margin:1.2rem}.about-main{padding-block:2rem 4rem}.about-visual{grid-template-columns:1fr;gap:2.5rem;margin-top:2rem}.about-visual h1{max-width:19ch}.about-scene{margin-inline:1.6rem 1rem}.about-photo{aspect-ratio:1.4}.about-copy{margin-top:3rem;max-width:60ch}}
@media(max-width:600px){.about-page .header{margin:.8rem}.about-main{padding-top:1.5rem}.about-visual h1{font-size:clamp(2.8rem,10vw,3.6rem)}.about-scene{margin-inline:0}.about-photo{aspect-ratio:.92}.tool-hammer{width:115px;left:-3%;top:1%}.tool-square{width:110px;right:-2%;top:42%}.tool-pencil{width:140px;left:2%;bottom:13%}}

/* Same animated construction scene beside the contact form. */
.contact-lead .about-scene{margin:2.8rem 1rem 0}.contact-lead .about-photo{aspect-ratio:1.25}.contact-lead .tool-hammer{width:125px}.contact-lead .tool-square{width:115px}.contact-lead .tool-pencil{width:145px}
@media(max-width:850px){.contact-lead .about-scene{max-width:560px}.contact-lead .about-photo{aspect-ratio:1.5}}
@media(max-width:600px){.contact-lead .about-scene{margin:2rem 0 0}.contact-lead .about-photo{aspect-ratio:1.2}.contact-lead .tool-hammer{width:105px}.contact-lead .tool-square{width:100px}.contact-lead .tool-pencil{width:130px}}

/* Text-only About page after removing the decorative scene. */
.about-visual:not(:has(.about-scene)){display:block}.about-visual:not(:has(.about-scene)) h1{max-width:19ch}

/* Architectural pen drawing: a single quiet construction sequence. */
.about-visual.architectural-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.about-visual.architectural-layout h1{max-width:12ch}
.architecture-art{color:#c9b795;width:100%;max-width:610px;margin:0 auto;isolation:isolate}
.architecture-art svg{display:block;width:100%;height:auto;overflow:visible}
.architecture-ground{opacity:.22}.architecture-outline{opacity:.9}.architecture-detail{opacity:.48}.architecture-dimensions{opacity:.24}
.contact-lead .architecture-art{margin:1.7rem 0 0;max-width:460px}
@media(prefers-reduced-motion:no-preference){
 .architecture-stroke path{stroke-dasharray:100;stroke-dashoffset:0;animation:architecture-draw 2.6s cubic-bezier(.22,.61,.36,1) both}
 .architecture-detail path{animation-delay:.6s;animation-duration:3s}
 .architecture-dimensions path{animation-delay:1s;animation-duration:3s}
 .architecture-volume{animation:architecture-shade 3s ease both}
}
@keyframes architecture-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes architecture-shade{from{opacity:0}to{opacity:1}}
@media(max-width:850px){.about-visual.architectural-layout{grid-template-columns:1fr;gap:.5rem}.about-visual.architectural-layout h1{max-width:19ch}.architecture-art{max-width:470px}.contact-lead .architecture-art{max-width:380px}}
@media(max-width:600px){.architecture-art{margin-top:.4rem}.contact-lead .architecture-art{margin-top:1rem;max-width:310px}.about-copy{margin-top:1.5rem}}


/* An axonometric villa: floors, rooms and roof form one construction story. */
.villa-art{position:relative;max-width:800px;color:#c9b795}
.villa-art svg{overflow:visible}.villa-layer{transform-box:fill-box;transform-origin:center}
.about-visual.architectural-layout{grid-template-columns:.8fr 1.2fr;gap:2rem}
.villa-caption{text-align:center;color:var(--muted);font-size:.86rem;margin-top:-1rem}
.villa-controls,.villa-playback{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.villa-controls button,.villa-playback button{border:1px solid #c9b79550;padding:.5rem .7rem;background:none;color:var(--muted);font-size:.75rem;cursor:pointer}
.villa-controls button[aria-pressed="true"]{color:var(--ink);border-color:var(--accent);background:#c9b79512}
.villa-playback{margin-top:.7rem}.villa-playback button{border:0;border-bottom:1px solid #c9b79540;padding:.3rem .2rem;margin:0 .4rem}
.villa-art button:hover{color:var(--ink)}.villa-art button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.villa-controls[hidden],.villa-playback[hidden],.villa-pause[hidden]{display:none}
.contact-lead .villa-art{max-width:610px;margin-top:1.5rem}
.villa-art[data-view="ground"] .villa-layer:nth-child(n+3),.villa-art[data-view="upper"] .villa-layer:nth-child(n+5){display:none}
.villa-art[data-view="ground"] svg{margin-top:-2rem}
@media(prefers-reduced-motion:no-preference){
.villa-assembling .villa-layer{animation:villa-build 1.8s cubic-bezier(.22,.61,.36,1) both}
.villa-assembling .villa-layer-1{animation-delay:0s}
.villa-assembling .villa-layer-2{animation-delay:1.5s}
.villa-assembling .villa-layer-3{animation-delay:6s}
.villa-assembling .villa-layer-4{animation-delay:7.5s}
.villa-assembling .villa-layer-5{animation-delay:13s}
.villa-assembling .villa-layer-6{animation-delay:14.5s}
.villa-assembling .villa-layer-7{animation-delay:16s}
.villa-paused .villa-layer{animation-play-state:paused}
}
@keyframes villa-build{from{opacity:0;transform:translateY(-55px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.about-visual.architectural-layout{grid-template-columns:1fr;gap:0}.villa-art{max-width:650px}.contact-lead .villa-art{max-width:550px}}
@media(max-width:600px){.villa-caption{margin-top:0}.villa-controls{gap:.35rem}.villa-controls button{padding:.5rem;font-size:.7rem}.contact-lead .villa-art{max-width:100%;margin-top:1rem}}
