:root{--bg:#171817;--panel:#20211f;--ivory:#f4f0e7;--gold:#c6a66d;--muted:#b6b5ad;--line:#ffffff28}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ivory);font-family:'Instrument Sans',Arial,sans-serif;font-size:18px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(55px,6.6vw,104px)}h2{font-size:clamp(40px,4.3vw,68px)}p{color:var(--muted)}em{font-weight:400}header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:23px 4.2%;gap:30px;transition:background .4s,padding .4s;border-bottom:1px solid transparent}header.scrolled{background:#171817f5;backdrop-filter:blur(12px);padding-top:14px;padding-bottom:14px;border-color:var(--line)}.brand{width:250px;flex-shrink:0}.brand img{object-fit:contain}nav{display:flex;gap:28px;font-size:15px}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}nav a:hover:after{width:100%}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:60px;padding:18px 28px;font-size:17px;transition:background .25s,color .25s,transform .25s;white-space:nowrap}.pill span{font-size:24px;line-height:1}.pill:hover{transform:translateY(-3px)}.gold{background:var(--gold);color:#171817}.light{background:var(--ivory);color:#171817}.outline{border:1px solid var(--gold);background:transparent}.outline:hover{background:var(--gold);color:var(--bg)}.header-cta{font-size:14px;padding:12px 22px}.menu-toggle{display:none;background:none}.hero{height:100svh;min-height:730px;position:relative;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media video{width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#0009,#0002),linear-gradient(0deg,#0008,transparent 45%)}.hero-content{position:absolute;left:4.2%;top:32%;z-index:2}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:600;color:var(--gold);margin-bottom:24px}.hero h1{max-width:1200px}.hero-sub{color:var(--ivory);font-size:23px;margin:26px 0 34px}.hero-bottom{position:absolute;bottom:32px;left:4.2%;right:4.2%;display:flex;align-items:center;gap:24px;font-size:11px;letter-spacing:.14em;font-weight:600}.hero-bottom i{flex:1;height:1px;background:#ffffff88}.hero-bottom button{background:none;border:1px solid #ffffff88;border-radius:50%;width:38px;height:38px}.section{padding:140px 4.2%;max-width:1800px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;align-items:center}.intro-copy p:not(.eyebrow){margin-top:24px;max-width:535px}.intro .pill{margin-top:32px}.highlight{background:linear-gradient(var(--gold),var(--gold)) no-repeat left bottom;background-size:0% 100%;transition:background-size 1s cubic-bezier(.2,.7,.2,1),color 1s}.in-view .highlight{background-size:100% 100%;color:var(--bg)}.tour-cover{position:relative;background:none;padding:0;text-align:left;overflow:hidden;aspect-ratio:1.3}.tour-cover img{height:100%;transition:transform .8s}.tour-cover:hover img{transform:scale(1.045)}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;width:88px;height:88px;display:grid;place-items:center;font-size:40px;background:#0003}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000b);padding:45px 25px 20px;font-size:11px;letter-spacing:.14em}.marquee{overflow:hidden;font-size:clamp(60px,8vw,130px);white-space:nowrap;color:#ffffff0b;line-height:1.2}.marquee div{width:max-content;animation:marquee 45s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.approach{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:120px}.collage{height:680px;position:relative}.collage-main{height:490px;width:88%;object-position:40% center}.collage-small{position:absolute;bottom:0;right:-3%;width:75%;height:320px;border:12px solid var(--bg)}.approach-copy p:not(.eyebrow){max-width:430px;margin-top:28px}.large-arrow{display:block;margin:35px 0 0 auto;font-size:120px;color:var(--gold);line-height:1}.services{border-top:1px solid var(--line)}.service-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:50px}.service-links a{font-size:clamp(34px,4.6vw,70px);border:1px solid #ffffff70;border-radius:100px;padding:15px 35px;line-height:1.4;transition:color .3s,border-color .3s}.service-links a:hover{color:var(--gold);border-color:var(--gold)}.service-links a span{margin-left:25px}.service-links>img{width:210px;height:105px;border-radius:100px}.service-note{display:flex;justify-content:space-between;align-items:start;margin-top:65px}.service-note span{font-size:11px;letter-spacing:.12em;color:var(--gold)}.service-note p{font-size:23px}.portfolio-intro{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;padding-bottom:70px}.portfolio-intro h2{color:var(--gold)}.portfolio-intro p:not(.eyebrow){max-width:700px;margin-top:27px}.portfolio-count{font-size:12px;letter-spacing:.15em;color:var(--gold)}.projects{padding:0 4.2%;position:relative}.project{position:sticky;top:91px;background:var(--bg);padding-bottom:18px;transform-origin:center top}.project-head{border-top:1px solid var(--line);height:100px;display:flex;align-items:center;gap:25px}.project-head h3{font-size:35px;letter-spacing:-.03em;flex:1}.project-index{font-size:12px;color:var(--gold);min-width:24px}.project-tag{font-size:11px;border:1px solid #ffffff45;border-radius:5px;padding:5px 11px;color:var(--muted);letter-spacing:.05em}.round-arrow{width:40px;height:40px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:24px}.project:hover h3{color:var(--gold)}.project-cover{display:block;position:relative;overflow:hidden;width:100%;padding:0;background:var(--bg);height:calc(100svh - 218px);min-height:400px}.project-cover img{height:100%;transition:transform .7s;object-position:center 60%}.project-cover:hover img{transform:scale(1.035)}.project-cover .view-label{position:absolute;bottom:26px;left:26px;padding:12px 20px;border-radius:50px;background:#171817c9;font-size:13px;border:1px solid #ffffff44}.process{display:grid;grid-template-columns:1fr .82fr;gap:10%;align-items:center}.process-list details{border-top:1px solid var(--line)}.process-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;align-items:center;gap:22px;padding:25px 8px;font-size:34px;line-height:1.2;list-style:none}summary::-webkit-details-marker{display:none}summary>span{font-size:11px;color:var(--gold)}summary i{font-style:normal;margin-left:auto;font-size:23px;color:var(--gold)}details[open] summary{color:var(--gold)}details[open] summary i{transform:rotate(45deg)}details p{padding:0 38px 30px 43px;font-size:17px}.process-copy p:not(.eyebrow){margin:28px 0 35px}.craft{min-height:950px;position:relative;display:grid;place-items:center;overflow:hidden;background:#22231f;text-align:center}.craft-circle{position:absolute;left:50%;top:50%;width:330px;height:330px;border-radius:50%;background:#2b2b24;transform:translate(-50%,-50%) scale(var(--circle-scale,1));will-change:transform}.craft-content{position:relative;padding:80px 25px}.craft h2{font-size:clamp(50px,7.5vw,110px)}.craft p:not(.eyebrow){font-size:24px;margin:32px 0}.text-link{color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:10px}.closing{height:95svh;min-height:650px;position:relative;overflow:hidden}.closing-image{position:absolute;inset:-8% 0;width:100%;height:116%;object-position:center}.closing-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000a,#0001)}.closing-copy{position:absolute;left:4.2%;top:25%}.closing h2{font-size:clamp(48px,6vw,92px);max-width:1000px;margin-bottom:38px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact p:not(.eyebrow){max-width:480px;margin-top:28px}.contact-link{display:block;font-size:34px;color:var(--gold);margin-top:42px}.contact-email{display:block;margin-top:14px;font-size:18px}.location{font-size:14px}form{padding-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:13px;color:var(--ivory);margin-bottom:25px}input,select,textarea{display:block;width:100%;background:none;border:0;border-bottom:1px solid #ffffff40;color:var(--ivory);padding:12px 0;border-radius:0;font-size:16px;outline:none}select{color:var(--muted)}select option{background:var(--bg)}input:focus,select:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical}form p.form-note{font-size:12px;margin-top:18px}#form-status{font-size:14px;color:var(--gold)}footer{padding:65px 4.2% 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;background:#111210}.footer-brand{width:360px;max-width:100%}.footer-brand img{object-fit:contain}footer>div:not(.footer-bottom){display:flex;flex-direction:column;gap:14px;font-size:16px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:32px;gap:25px}.footer-bottom>span:nth-child(2){letter-spacing:.08em}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(32px);transition:opacity .85s,transform .85s}.js .reveal.in-view{opacity:1;transform:none}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--gold);color:var(--bg);z-index:100}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}#hover-preview{position:fixed;z-index:60;pointer-events:none;display:none;width:280px;height:190px;box-shadow:0 20px 60px #0005}#hover-preview img{height:100%}dialog{background:var(--bg);color:var(--ivory);border:1px solid var(--line);max-width:1300px;width:94vw;max-height:94svh;padding:25px 35px}dialog::backdrop{background:#000d;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:20px}.dialog-head .eyebrow{margin-bottom:8px}.dialog-head h2{font-size:32px}.dialog-close{background:none;font-size:40px;line-height:1;padding:8px}.gallery-main{display:flex;align-items:center;gap:15px}.gallery-main img{height:59svh;object-fit:contain;background:#0d0e0c}.gallery-main button{background:none;font-size:28px;padding:8px}.gallery-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:12px 55px}#thumbnails{display:flex;overflow:auto;gap:9px;padding:8px 55px}#thumbnails button{padding:0;min-width:85px;width:85px;height:60px;background:none;border:2px solid transparent;opacity:.6}#thumbnails button.active{border-color:var(--gold);opacity:1}#thumbnails img{height:100%}body.modal-open{overflow:hidden}#tour-dialog{padding:40px 20px 20px}#tour-dialog>.dialog-close{position:absolute;right:15px;top:0}#tour-dialog video{width:100%;max-height:78svh;display:block}
@media(min-width:1800px){header{padding-left:max(4.2%,calc((100vw - 1650px)/2));padding-right:max(4.2%,calc((100vw - 1650px)/2))}}@media(max-width:1100px){.brand{width:210px}nav{gap:17px;font-size:13px}.header-cta{display:none}.intro,.approach{gap:6%}.collage{height:550px}.collage-main{height:390px}.collage-small{height:260px}.section{padding-top:100px;padding-bottom:100px}.service-links a{font-size:44px}.contact{gap:6%}.hero h1{font-size:78px}}@media(max-width:760px){body{font-size:16px}header,header.scrolled{padding:17px 5%}.brand{width:205px}.menu-toggle{display:flex;gap:12px;align-items:center;font-size:14px}nav{display:none;position:absolute;top:83px;left:0;right:0;flex-direction:column;background:var(--bg);padding:30px 5%;font-size:24px;gap:24px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{min-height:690px;max-height:1000px}.hero-content{left:5%;right:5%;top:30%}.hero h1{font-size:clamp(49px,10vw,75px)}.hero-sub{font-size:18px;max-width:300px}.hero .eyebrow{font-size:9px}.hero-bottom{left:5%;right:5%;gap:12px;font-size:8px}.hero-bottom>span:nth-of-type(2),.hero-bottom>i:nth-of-type(2){display:none}.pill{font-size:15px;padding:15px 23px;gap:22px}.section{padding:80px 5%}.intro,.approach,.process,.contact{grid-template-columns:1fr;gap:48px}h2{font-size:43px}.tour-cover{aspect-ratio:1.25}.collage{height:460px}.collage-main{height:330px}.collage-small{height:210px;right:0}.approach-copy h2{font-size:44px}.large-arrow{font-size:85px;margin-top:20px}.service-links{gap:12px;margin-top:30px}.service-links a{font-size:31px;padding:12px 23px}.service-links>img{width:120px;height:72px}.service-links a span{margin-left:12px}.service-note{flex-direction:column;gap:25px;margin-top:35px}.service-note p{font-size:19px}.portfolio-intro{padding-bottom:45px;gap:20px}.portfolio-count{white-space:nowrap;font-size:10px}.projects{padding:0 5%}.project{top:84px}.project-head{height:85px;gap:13px}.project-head h3{font-size:25px}.project-tag{display:none}.round-arrow{width:32px;height:32px;font-size:20px}.project-cover{height:58svh;min-height:320px}.project-cover img{object-position:center}.project-cover .view-label{bottom:15px;left:15px;font-size:11px}summary{font-size:27px}details p{padding-left:30px;font-size:16px}.process-copy{grid-row:1}.craft{min-height:650px}.craft h2{font-size:55px}.craft p:not(.eyebrow){font-size:19px}.closing{height:75svh;min-height:550px}.closing-copy{left:5%;right:5%;top:24%}.closing h2{font-size:49px}.closing-image{object-position:45% center}.contact-link{font-size:30px}.contact-email{font-size:16px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:50px 5% 25px;grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1;width:300px}.footer-bottom{flex-direction:column;gap:15px}dialog{width:96vw;padding:20px 12px}.dialog-head h2{font-size:26px}.gallery-main{gap:0}.gallery-main img{height:48svh;width:calc(100% - 60px)}.gallery-main button{font-size:20px;padding:6px}.gallery-meta{padding:12px 30px;font-size:10px}#thumbnails{padding:8px 30px}#hover-preview{display:none!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.highlight{background-size:100% 100%;color:var(--bg)}.project{position:relative;top:0}.parallax,.closing-image{transform:none!important}}

.family-intro{align-items:center;gap:7%;grid-template-columns:1.05fr 1fr}.family-intro .intro-copy p:not(.eyebrow){max-width:610px}.family-intro .eyebrow{letter-spacing:.12em}.family-portrait figure{margin:0}.family-portrait figure img{width:100%;aspect-ratio:1;object-fit:contain}.family-portrait figcaption{display:flex;flex-direction:column;gap:8px;padding:22px 0;border-bottom:1px solid var(--line)}.family-portrait figcaption span:first-child{font-size:11px;color:var(--gold);letter-spacing:.14em}.family-portrait figcaption span:last-child{color:var(--muted);font-size:15px}.family-tour{margin-top:28px;background:transparent}.family-intro h2{font-size:clamp(40px,4vw,64px)}@media(max-width:760px){.family-intro{grid-template-columns:1fr;gap:42px}.family-intro h2{font-size:43px}.family-tour{white-space:normal;text-align:left}.family-intro .eyebrow{font-size:10px}.family-portrait figure img{aspect-ratio:1}}

/* Portfolio photo grid: every album is available without scroll pinning. */
.portfolio-category{margin:0 4.2% 75px;scroll-margin-top:115px}.category-banner{padding:28px 30px;margin-bottom:30px;background:var(--panel);border-top:1px solid var(--gold);display:flex;align-items:center;justify-content:space-between;gap:25px}.category-banner .eyebrow{margin-bottom:10px}.category-banner h3{font-size:38px}.category-banner>span{font-size:11px;color:var(--gold);letter-spacing:.12em}.projects{padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px}.home-card-button{display:block;width:100%;padding:0;background:transparent;text-align:left}.home-card-photo{position:relative;overflow:hidden;aspect-ratio:3/2}.home-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.home-card-button:hover img,.home-card-button:focus-visible img{transform:scale(1.035)}.album-overlay{position:absolute;bottom:20px;left:20px;background:#171817da;border:1px solid #ffffff50;border-radius:40px;padding:12px 19px;font-size:13px}.home-card-caption{display:flex;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.home-card-caption h4{font-size:27px;font-weight:500;letter-spacing:-.03em;margin:0;flex:1}.home-card-caption>span:not(.round-arrow){font-size:10px;letter-spacing:.12em;color:var(--muted)}.home-card-button:hover h4{color:var(--gold)}.portfolio-empty{padding:35px 30px 50px;border-bottom:1px solid var(--line)}.portfolio-empty p{font-size:22px;margin-bottom:24px}@media(max-width:760px){.portfolio-category{margin-left:5%;margin-right:5%;margin-bottom:50px;scroll-margin-top:105px}.category-banner{padding:23px 20px}.category-banner h3{font-size:32px}.category-banner .eyebrow{font-size:9px}.projects{grid-template-columns:1fr;gap:28px}.home-card-caption h4{font-size:25px}.portfolio-empty{padding:25px 20px 35px}.portfolio-empty p{font-size:18px}}

.service-label{font-size:clamp(34px,4.6vw,70px);border:1px solid #ffffff70;border-radius:100px;padding:15px 35px;line-height:1.4}.home-card-caption{justify-content:space-between}.service-area{font-size:16px;line-height:1.6}.testimonials{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;border-top:1px solid var(--line);background:var(--panel)}.testimonial-source p{font-size:25px;margin-bottom:30px;max-width:450px}@media(max-width:1100px){.service-label{font-size:44px}}@media(max-width:760px){.service-label{font-size:31px;padding:12px 23px}.testimonials{grid-template-columns:1fr;gap:35px}.testimonial-source p{font-size:21px}}

/* Bright, welcoming palette below the opening film. */
:root{--bg:#fffefa;--panel:#f3f1eb;--ivory:#252823;--gold:#8b682b;--muted:#596057;--line:#25282326}
body{background:var(--bg);color:var(--ivory)}
header{color:#f4f0e7}header.scrolled{background:#fffefaf7;color:var(--ivory);border-color:var(--line)}header.scrolled .brand{background:#252823;padding:8px 10px;border-radius:3px}
.hero{color:#f4f0e7}.hero .eyebrow{color:#d8bc84}.hero-sub{color:#f4f0e7}.hero .light{background:#f4f0e7;color:#252823}.hero-bottom button{color:#f4f0e7}.hero .hero-bottom i{background:#ffffff88}
.gold{background:#b99452;color:#171817}.light{background:#fffefa;color:#252823;border:1px solid #25282325}.outline{color:#252823}.outline:hover{background:#8b682b;color:#fffefa}.highlight{background-image:linear-gradient(#dec898,#dec898)}.in-view .highlight{color:#252823}
.marquee{color:#2528230d}.tour-cover,.family-portrait figure img,.collage-main,.collage-small,.service-links>img,.home-card-photo{border:1px solid #25282329}.collage-small{border:10px solid var(--bg);outline:1px solid #25282325}
.service-links a,.service-label{border-color:#25282355}.service-links a:hover{border-color:var(--gold)}
.project-tag{border-color:#25282345}.project-cover .view-label,.album-overlay{background:#fffefae8;color:#252823;border:1px solid #25282335}.round-arrow{border-color:var(--gold);color:var(--gold)}
.craft{background:#f3f1eb}.craft-circle{background:#e9e4d8}
.closing{background:#fffefa}.closing-image{opacity:.45}.closing-shade{background:linear-gradient(90deg,#fffefaed,#fffefa55)}.closing-copy{color:#252823}.closing-copy .eyebrow{color:var(--gold)}.closing .light{background:#fffefa;color:#252823;border:1px solid var(--gold)}
input,select,textarea{border-color:#25282345;color:#252823}input::placeholder,textarea::placeholder{color:#72766d}select{color:#596057}select option{background:#fffefa;color:#252823}
footer{background:#f3f1eb}.footer-brand{background:#252823;padding:12px;border-radius:3px}
dialog{background:#fffefa;color:#252823;border-color:#25282335}.gallery-main img{background:#f3f1eb}.gallery-main button,.dialog-close{color:#252823}#hover-preview{border:1px solid #25282335}
.category-banner{background:#f3f1eb}.testimonials{background:#f3f1eb}
@media(max-width:760px){nav{background:#fffefa;color:#252823;border-color:var(--line)}}
@media(prefers-reduced-motion:reduce){.highlight{color:#252823}}
