
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06}h1{font-size:calc(clamp(3.5rem,7.6vw,7rem) * var(--kop-s));letter-spacing:-.035em}h2{font-size:calc(clamp(2.65rem,4.5vw,4.5rem) * var(--kop-s));letter-spacing:-.025em}h3{font-size:calc(2rem * var(--kop-s));letter-spacing:-.015em}em{font-weight:400;color:var(--gold-text)}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:auto;object-fit:cover}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold-text);outline-offset:5px}a,button{touch-action:manipulation}::selection{background:var(--gold-light);color:var(--navy)}[hidden]{display:none!important}.wrap{width:min(100% - 112px,1248px);margin-inline:auto}.section{padding-block:112px}.section.tight{padding-block:76px}.white{background:var(--surface)}.eyebrow{display:flex;align-items:center;gap:14px;font-size:.75rem;letter-spacing:.19em;text-transform:uppercase;font-weight:500;color:var(--gold-text);margin-bottom:22px}.eyebrow::before{content:'';width:30px;height:1px;background:currentColor;flex:none}.dark{background:var(--navy);color:white}.dark .eyebrow{color:var(--gold)}.dark em{color:var(--gold-light)}.lead{font-size:1.125rem;color:var(--muted);max-width:49ch}.small{font-size:.875rem;color:var(--muted)}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:54px;padding:14px 25px;border:1px solid transparent;background:var(--navy);color:white;text-decoration:none;font-size:1rem;font-weight:500;border-radius:3px;transition:background .2s,color .2s,border-color .2s;line-height:1.45}.btn:hover{background:var(--btn-hover)}.btn.gold{background:var(--gold);color:var(--navy)}.btn.gold:hover{background:var(--gold-light)}.btn.outline{border-color:var(--outline);background:transparent;color:var(--navy)}.btn.outline:hover{background:var(--navy);color:white;border-color:var(--navy)}.btn.compact{min-height:46px;padding:10px 17px;font-size:.875rem}.btn svg{width:20px;height:20px;flex:none}.text-link{display:inline-flex;align-items:center;gap:18px;text-decoration:none;border-bottom:1px solid var(--gold);padding-block:7px;font-size:1rem;font-weight:500}.text-link:hover{color:var(--gold-text)}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px}.arrow{font-family:Arial,sans-serif;font-size:1.2em;font-weight:400}.skip{position:fixed;top:-100px;left:18px;z-index:1000;background:var(--navy);color:white;padding:10px 18px}.skip:focus{top:16px}.header{position:fixed;top:0;inset-inline:0;z-index:50;color:var(--navy);background:color-mix(in srgb,var(--paper) 97%,transparent);border-bottom:1px solid var(--line)}.photo-page .header{background:transparent;color:#fff;border-color:rgba(255,255,255,.2)}.header .bar{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:26px;transition:min-height .25s}.header.scrolled{background:color-mix(in srgb,var(--navy) 97%,transparent);color:white;border-color:rgba(255,255,255,.16)}.header.scrolled .bar{min-height:72px}.brand{text-decoration:none;line-height:1;display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-mark{width:37px;height:47px;flex:none;color:var(--gold)}.brand-name{font-family:var(--serif);font-size:calc(1.65rem * var(--kop-s));font-weight:500;letter-spacing:-.025em}.brand-sub{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.09em;margin-top:8px;font-weight:400;opacity:.8}.nav{display:flex;gap:30px;align-items:center}.nav a{text-decoration:none;font-size:.9375rem;padding:8px 0;border-bottom:1px solid transparent}.nav a[aria-current=page]{border-bottom-color:var(--gold)}.nav a:hover{border-bottom-color:var(--gold)}.menu-button{display:none;align-items:center;gap:9px;background:transparent;border:0;color:inherit;padding:12px 0;font-size:.9375rem}.menu-lines{width:22px;display:block;border-block:1px solid currentColor;height:9px}.mobile-dialog{border:0;margin:0;max-width:none;max-height:none;width:100%;height:100%;background:var(--navy);color:white;padding:28px}.mobile-dialog::backdrop{background:var(--navy)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.close-menu{background:transparent;border:1px solid var(--on-dark-line);color:white;min-height:46px;padding:8px 16px;border-radius:2px;font-size:.9375rem}.mobile-dialog nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:60px}.mobile-dialog nav a{font:500 calc(3rem * var(--kop-s))/1.2 var(--serif);text-decoration:none;padding:8px 0}.mobile-dialog nav a[aria-current=page]{color:var(--gold-light)}.dialog-contact{margin-top:45px}.mobile-contact{display:none}.hero{position:relative;min-height:860px;min-height:min(900px,100svh);background:var(--navy);color:white;isolation:isolate;display:flex;flex-direction:column;justify-content:center;padding-top:160px;padding-bottom:125px;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:-2;height:100%;object-position:58% 52%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(var(--shade) / .86),rgb(var(--shade) / .64) 35%,rgb(var(--shade) / .12) 78%),linear-gradient(0deg,rgb(var(--shade) / .8),transparent 45%)}.hero .eyebrow{color:var(--gold-light);margin-bottom:24px}.hero h1{max-width:900px;line-height:.99;font-weight:400}.hero h1 span{display:block}.hero h1 em{color:var(--gold-light)}.hero .lead{color:var(--on1);max-width:42ch;margin-top:26px;font-size:1.125rem;line-height:1.75}.hero .text-link{color:white;border-color:rgba(255,255,255,.45)}.hero .text-link:hover{color:var(--gold-light)}.hero-foot{position:absolute;bottom:0;left:0;right:0}.hero-foot .wrap{display:flex;gap:32px;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.25);min-height:79px;font-size:.875rem;color:var(--on1)}.hero-foot strong{font-weight:400;display:flex;align-items:center;gap:11px}.hero-foot strong:before{content:'✓';color:var(--gold-light);font-size:.9rem}.hero-foot .place{margin-left:auto;opacity:.75;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:96px;align-items:center}.intro h2{max-width:17ch}.intro .lead{margin-top:25px}.intro .text-link{margin-top:28px}.intro-figure{position:relative;max-width:370px;justify-self:end;width:100%;padding-bottom:20px}.arch{border-radius:50% 50% 3px 3px;overflow:hidden}.intro-figure .arch{aspect-ratio:4/5}.intro-figure img{height:100%}.seal{position:absolute;left:-45px;bottom:0;width:94px;height:94px;border-radius:50%;background:var(--navy);border:5px solid var(--paper);color:var(--gold-light);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.seal b{font-family:var(--serif);font-weight:400;font-style:italic;font-size:calc(1.8rem * var(--kop-s))}.seal span{font-size:.65rem;letter-spacing:.1em;margin-top:5px}.photo-note{font-size:.75rem;color:var(--muted);margin-top:12px}.intro-figure .photo-note{text-align:right}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:48px}.section-heading h2{max-width:18ch}.section-heading .text-link{flex:none}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding-bottom:35px}.service{text-decoration:none;display:block}.service:nth-child(2){transform:translateY(35px)}.service-image{aspect-ratio:4/4.7;overflow:hidden;border-radius:50% 50% 3px 3px;position:relative;background:var(--sand)}.service-image img{height:100%;transition:transform .65s var(--ease)}.service:hover .service-image img{transform:scale(1.035)}.service-label{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-text);margin-top:24px;display:flex;align-items:center;gap:12px}.service-label:before{content:'';height:1px;width:21px;background:var(--gold)}.service h3{margin-top:9px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.service h3 .arrow{font-size:1.35rem;color:var(--gold-text)}.service p{font-size:1rem;line-height:1.7;color:var(--muted);max-width:32ch}.section-footnote{font-size:.75rem;color:var(--muted);margin-top:20px}.report-layout{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:90px}.report-copy h2{max-width:15ch}.report-copy .lead{color:var(--on2);margin-top:26px}.report-copy .small{color:var(--on2);margin-top:16px}.report-shell{position:relative;padding:25px 0 28px 35px}.report-backdrop{position:absolute;top:0;bottom:0;right:-20px;width:68%;height:100%;object-fit:cover;opacity:.55;border-radius:120px 120px 3px 3px}.report-card{position:relative;background:var(--paper);color:var(--ink);padding:30px;border:1px solid var(--line);border-radius:5px;box-shadow:0 18px 45px rgba(0,0,0,.13)}.report-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;gap:18px}.report-top h3{font-size:calc(2rem * var(--kop-s))}.report-date{font-size:.75rem;color:var(--muted);margin-top:5px}.status{font-size:.75rem;font-weight:500;border:1px solid var(--tint-border);color:var(--tint-text);background:var(--tint-bg);padding:6px 9px;border-radius:3px;line-height:1.4;flex:none}.report-list{list-style:none;padding:8px 0;margin:0}.report-list li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.45}.check-icon{width:23px;height:23px;border:1px solid var(--check-line);border-radius:50%;display:grid;place-items:center;font-size:.8rem;color:#416b56;flex:none}.report-list .attention .check-icon{color:var(--tint-text);background:var(--tint-bg)}.report-list .attention{font-weight:500}.report-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.report-thumbs img{height:80px;border-radius:2px}.report-note{padding:15px 16px;margin-top:17px;border-left:2px solid var(--gold);background:var(--sand);font-size:.875rem;line-height:1.7}.report-example{font-size:.75rem;color:var(--on2);position:relative;margin-top:12px}.rates-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;margin-bottom:40px}.rates-head h2{max-width:16ch}.rates-head p{max-width:46ch}.price-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--surface)}.price-card{padding:42px 44px}.price-card+ .price-card{border-left:1px solid var(--line)}.price-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.house-icon{height:38px;width:45px;color:var(--gold-text)}.price{font-family:var(--serif);font-size:calc(4.5rem * var(--kop-s));line-height:1;margin:25px 0;letter-spacing:-.045em;font-weight:500;color:var(--navy)}.price small{font-family:var(--sans);font-size:.875rem;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:7px}.price-card p:not(.price){font-size:1rem;color:var(--muted);max-width:40ch}.price-card ul{list-style:none;margin:25px 0 28px;padding:0;font-size:.9375rem}.price-card li{padding:6px 0;display:flex;gap:11px}.price-card li:before{content:'✓';color:var(--gold-text)}.custom-rate{background:var(--sand);padding:23px 30px;display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:1rem}.custom-rate strong{font-weight:500}.custom-rate .text-link{flex:none}.rate-note{font-size:.8125rem;margin-top:20px;color:var(--muted);max-width:90ch}.tag{display:inline-block;border:1px solid var(--tint-border);background:var(--tint-bg);color:var(--tint-text);padding:1px 8px;font-size:.75rem;margin-right:6px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.visit-photo{position:sticky;top:110px}.visit-photo img{aspect-ratio:4/5;border-radius:3px}.visit-photo figcaption{margin-top:12px;display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.visit-copy h2{max-width:15ch}.steps{list-style:none;padding:0;margin:35px 0 0;counter-reset:visit}.steps li{counter-increment:visit;display:grid;grid-template-columns:36px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.steps li:before{content:counter(visit,decimal-leading-zero);font-family:var(--serif);font-size:calc(1.5rem * var(--kop-s));font-style:italic;color:var(--gold-text);line-height:1.3}.steps h3{font-size:calc(1.65rem * var(--kop-s))}.steps p{font-size:1rem;margin-top:8px;color:var(--muted)}.rule-note{font-size:.9375rem;padding-left:20px;border-left:2px solid var(--gold);margin-top:28px;color:var(--muted)}.closing{position:relative;isolation:isolate;overflow:hidden;color:white;background:var(--navy);padding-block:100px}.closing img{position:absolute;inset:0;height:100%;z-index:-2;object-position:center 59%}.closing:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(var(--shade) / .9),rgb(var(--shade) / .4))}.closing h2{max-width:15ch;font-size:calc(clamp(3rem,5.4vw,5.5rem) * var(--kop-s))}.closing .eyebrow{color:var(--gold-light)}.closing em{color:var(--gold-light)}.closing p{color:var(--on1);max-width:42ch;margin-top:22px}.closing .text-link{color:white}.footer{padding:65px 0 30px;background:var(--deep);color:var(--foot);font-size:.9375rem}.footer-grid{display:grid;grid-template-columns:1.6fr .7fr 1fr;gap:65px}.footer .brand{color:#fff}.footer h3{font-family:var(--sans);font-size:.875rem;letter-spacing:.05em;color:var(--gold-light);font-weight:500;margin-bottom:17px}.footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer nav a,.footer address a{color:inherit;text-decoration:none}.footer nav a:hover,.footer address a:hover{color:white;text-decoration:underline}.footer address{font-style:normal;line-height:1.9}.footer p{max-width:31ch;margin-top:23px;font-size:.875rem}.footer-bottom{border-top:1px solid var(--foot-line);margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:.75rem;color:var(--foot2)}.footer-bottom a{color:inherit}.page-head{padding:170px 0 70px}.page-head h1{font-size:calc(clamp(3rem,6.6vw,6rem) * var(--kop-s));max-width:18ch}.page-head .lead{margin-top:25px;max-width:54ch}.page-head .head-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.head-photo{height:290px;border-radius:150px 150px 3px 3px}.page-head.contact-head{padding-bottom:50px}.inclusions{display:grid;grid-template-columns:1fr 1fr;gap:90px}.inclusions h2{font-size:calc(2.5rem * var(--kop-s))}.clean-list{list-style:none;padding:0;margin:27px 0 0}.clean-list li{padding:15px 0;border-top:1px solid var(--line);font-size:1rem;display:flex;gap:14px}.clean-list li:before{content:'✓';color:var(--gold-text)}.clean-list.excluded li:before{content:'—'}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.faq-grid h2{max-width:12ch}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:23px 0;font-size:1.0625rem;font-weight:500;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font:400 1.5rem/1 Arial;color:var(--gold-text);flex:none}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 35px 24px 0;font-size:1rem;color:var(--muted)}.pending{background:var(--tint-bg);border-left:2px solid var(--gold);padding:18px 20px;font-size:.9375rem;color:var(--tint-text2)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.portrait-placeholder{aspect-ratio:4/5;border-radius:50% 50% 3px 3px;background:var(--navy);color:var(--gold-light);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.portrait-placeholder:before{content:'';position:absolute;inset:18px;border:1px solid var(--portrait-line);border-radius:50% 50% 2px 2px}.portrait-placeholder b{font:400 italic calc(6rem * var(--kop-s))/1 var(--serif)}.portrait-placeholder span{font-size:.8125rem;position:absolute;bottom:40px}.about-copy .lead{margin-top:24px}.about-copy p+p{margin-top:18px}.quote{font:400 italic calc(clamp(2.35rem,4vw,4rem) * var(--kop-s))/1.2 var(--serif);max-width:24ch}.quote-by{font-size:.875rem;color:var(--gold-light);margin-top:26px}.about-gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;margin-top:44px}.about-gallery img{height:310px;border-radius:3px}.about-gallery figure:first-child img{border-radius:130px 130px 3px 3px}.about-gallery figcaption{font-size:.875rem;color:var(--muted);margin-top:14px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.contact-person{display:flex;align-items:center;gap:17px;margin-bottom:28px}.initials{width:65px;height:65px;border-radius:50%;background:var(--navy);color:var(--gold-light);display:grid;place-items:center;font:400 italic calc(1.8rem * var(--kop-s)) var(--serif);flex:none}.contact-person h2{font-size:calc(2rem * var(--kop-s))}.contact-person p{font-size:.9375rem;color:var(--muted);margin-top:3px}.contact-number{font:500 calc(clamp(2rem,3vw,3rem) * var(--kop-s))/1.2 var(--serif);text-decoration:none;display:inline-block;margin-top:15px}.contact-meta{margin-top:30px}.contact-meta div{padding:15px 0;border-top:1px solid var(--line)}.contact-meta dt{font-size:.8125rem;color:var(--muted)}.contact-meta dd{margin:4px 0 0;font-size:1rem}.contact-meta a{color:var(--ink);text-underline-offset:4px}.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:44px}.start-grid>div{border-top:1px solid var(--line);padding-top:24px}.start-grid .step-number{font:400 italic calc(1.5rem * var(--kop-s)) var(--serif);color:var(--gold-text)}.start-grid h3{font-size:calc(1.7rem * var(--kop-s));margin:10px 0}.start-grid p{font-size:1rem;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.hero-bg{animation:hero-pan 18s cubic-bezier(.2,.35,.5,1) both}.hero-copy h1{animation:gentle-in .7s both}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.js .reveal.visible{opacity:1;transform:none}@keyframes hero-pan{from{transform:scale(1.14)}to{transform:scale(1)}}@keyframes gentle-in{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1450px){.hero-bg{object-position:center 50%}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.header .bar{gap:20px}.brand-name{font-size:calc(1.45rem * var(--kop-s))}.brand-sub{font-size:.7rem}.intro{gap:65px}.report-layout,.visit-grid,.contact-grid{gap:50px}.report-shell{padding-left:0}.report-card{padding:24px}.price-card{padding:34px}.footer-grid{gap:35px}.faq-grid{gap:60px}.hero-foot .place{display:none}}
@media(max-width:900px){.nav{display:none}.menu-button{display:inline-flex}.header .bar{min-height:82px}.header-contact{margin-left:auto}.section{padding-block:85px}.intro{gap:40px}.intro-figure{max-width:300px}.services{gap:23px}.service h3{font-size:calc(1.75rem * var(--kop-s))}.service p{font-size:.9375rem}.service-image{aspect-ratio:4/5}.report-layout{grid-template-columns:1fr 1.1fr;gap:35px}.report-top{flex-wrap:wrap;gap:10px}.report-card{padding:20px}.report-thumbs img{height:60px}.report-copy h2{font-size:calc(2.8rem * var(--kop-s))}.rates-head{gap:35px}.visit-grid{gap:40px}.faq-grid{grid-template-columns:1fr;gap:35px}.faq-grid h2{max-width:none}.about-grid{gap:50px}.contact-grid{gap:35px}.hero{min-height:800px}.hero h1{font-size:calc(5.3rem * var(--kop-s))}.hero-foot .wrap{gap:20px;font-size:.75rem}.head-grid{gap:35px!important}.page-head{padding-top:145px}.start-grid{gap:25px}.footer-grid{grid-template-columns:1.2fr .7fr 1fr}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}body{font-size:17px}.section{padding-block:68px}.section.tight{padding-block:55px}.eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:18px}.brand-mark{width:28px;height:37px}.brand{gap:10px}.brand-name{font-size:calc(1.4rem * var(--kop-s))}.brand-sub{font-size:.65rem;margin-top:6px}.header .bar{min-height:76px;gap:14px}.header.scrolled .bar{min-height:68px}.header-contact{display:none}.menu-button{margin-left:auto}.hero{min-height:760px;min-height:max(740px,95svh);padding-top:135px;padding-bottom:135px;justify-content:flex-start}.hero h1{font-size:calc(clamp(3.2rem,10.7vw,4.8rem) * var(--kop-s));line-height:1.06;letter-spacing:-.04em}.hero h1 span:first-child{max-width:12ch}.hero h1 span:nth-child(2){display:inline}.hero h1 span:nth-child(3){display:block}.hero .lead{font-size:1.0625rem;line-height:1.7;max-width:34ch;margin-top:24px}.hero .actions{gap:20px;margin-top:27px}.hero-bg{object-position:65% 45%}.hero:after{background:linear-gradient(90deg,rgb(var(--shade) / .8),rgb(var(--shade) / .4)),linear-gradient(0deg,rgb(var(--shade) / .9),transparent)}.hero-foot .wrap{display:grid;grid-template-columns:1fr;gap:5px;padding-block:18px;font-size:.8125rem;min-height:100px}.hero-foot strong{gap:10px}.hero-foot strong:nth-child(3){display:none}.hero-foot .place{display:none}.hero .eyebrow{max-width:28ch}.intro{grid-template-columns:1fr;gap:38px}.intro h2{max-width:18ch}.intro-figure{justify-self:center;max-width:330px}.intro-figure .arch{aspect-ratio:1/1.06}.seal{left:-12px;width:84px;height:84px}.section-heading{display:block;margin-bottom:35px}.section-heading .text-link{margin-top:22px}.section-heading h2{max-width:17ch}.services{grid-template-columns:1fr;gap:36px;padding-bottom:0}.service{display:grid;grid-template-columns:105px 1fr;gap:0 20px}.service:nth-child(2){transform:none}.service-image{grid-row:1/4;aspect-ratio:auto;min-height:160px;max-height:205px;border-radius:58px 58px 3px 3px}.service-label{margin-top:8px;font-size:.6875rem;letter-spacing:.08em;gap:6px}.service-label:before{width:12px}.service h3{font-size:calc(1.8rem * var(--kop-s));margin-top:7px;margin-bottom:8px}.service h3 .arrow{display:none}.service p{font-size:1rem;max-width:none;line-height:1.6}.section-footnote{margin-top:32px}.report-layout{grid-template-columns:1fr;gap:35px}.report-copy h2{font-size:calc(2.9rem * var(--kop-s));max-width:15ch}.report-shell{padding:0}.report-backdrop{display:none}.report-top{flex-wrap:nowrap}.report-card{padding:22px}.report-list li{font-size:.9375rem;padding-block:12px}.report-thumbs img{height:75px}.report-example{margin-top:13px}.rates-head{grid-template-columns:1fr;gap:23px}.rates-head h2{max-width:17ch}.price-grid{grid-template-columns:1fr}.price-card{padding:30px 26px}.price-card+.price-card{border-left:0;border-top:1px solid var(--line)}.price-card ul{margin-block:22px}.price{font-size:calc(4.5rem * var(--kop-s));margin:23px 0}.price-card .btn{width:100%}.custom-rate{padding:22px 25px;display:block}.custom-rate .text-link{margin-top:10px}.visit-grid{grid-template-columns:1fr;gap:40px}.visit-photo{position:static}.visit-photo img{aspect-ratio:4/3;object-position:center 57%}.visit-photo figcaption{font-size:.75rem}.visit-copy h2{max-width:18ch}.steps li{padding-block:20px;grid-template-columns:27px 1fr;gap:13px}.closing{padding-block:75px}.closing h2{font-size:calc(3.3rem * var(--kop-s));max-width:13ch}.footer{padding-top:50px;padding-bottom:108px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.footer-brand{grid-column:1/-1}.footer p{max-width:35ch}.footer-bottom{margin-top:35px;gap:14px;line-height:1.7}.mobile-contact{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:60;background:var(--paper);border-top:1px solid var(--line);padding:11px 20px calc(11px + env(safe-area-inset-bottom));gap:12px;align-items:center;box-shadow:0 -4px 20px color-mix(in srgb,var(--navy) 6%,transparent)}.mobile-contact .btn{min-height:48px;flex:1;padding:10px 15px}.mobile-call{display:grid;place-items:center;width:50px;height:48px;border:1px solid var(--field-line);border-radius:3px}.mobile-call svg{width:20px;height:20px}.page-head{padding-top:126px;padding-bottom:42px}.page-head h1{font-size:calc(clamp(3rem,10vw,4rem) * var(--kop-s));overflow-wrap:break-word}.page-head .head-grid{grid-template-columns:1fr;gap:35px!important}.head-photo{height:230px;border-radius:120px 120px 3px 3px}.page-head .lead{font-size:1.0625rem}.inclusions{grid-template-columns:1fr;gap:45px}.faq-grid{gap:30px}.faq summary{font-size:1rem}.about-grid{grid-template-columns:1fr;gap:37px}.portrait-placeholder{max-width:330px;width:100%;justify-self:center;aspect-ratio:1/1.1}.about-copy .lead{max-width:none}.quote{font-size:calc(2.6rem * var(--kop-s))}.about-gallery{grid-template-columns:1fr 1fr;gap:20px}.about-gallery figure:first-child{grid-column:1/-1}.about-gallery img{height:190px}.about-gallery figure:first-child img{height:260px;object-position:center 60%}.about-gallery figcaption{font-size:.8125rem}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-number{font-size:calc(2.5rem * var(--kop-s))}.start-grid{grid-template-columns:1fr;gap:25px}.start-grid h3{font-size:calc(1.85rem * var(--kop-s))}.contact-head{padding-bottom:30px!important}.faq details p{padding-right:0}}
@media(max-width:370px){.brand-name{font-size:calc(1.22rem * var(--kop-s))}.brand-sub{font-size:.6rem}.hero h1{font-size:calc(3.1rem * var(--kop-s))}.hero .actions{gap:14px}.hero .actions .btn{padding-inline:18px}.service{grid-template-columns:85px 1fr;gap:0 16px}.service h3{font-size:calc(1.6rem * var(--kop-s))}.report-top{flex-wrap:wrap}.report-card{padding:19px}.report-thumbs img{height:62px}.mobile-contact{padding-inline:15px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}

/* Full-width services opening, coordinated with the Home photography. */
.hero-services{min-height:760px;min-height:clamp(720px,88svh,860px)}
.hero-services .hero-bg{object-position:62% 50%}
.hero-services h1{font-size:calc(clamp(3.5rem,6.5vw,6.25rem) * var(--kop-s));line-height:1.06;max-width:1050px}
.hero-services .lead{max-width:44ch}
.photo-page .header.scrolled{background:color-mix(in srgb,var(--navy) 97%,transparent);color:white;border-color:rgba(255,255,255,.16)}
@media(max-width:700px){.hero-services{min-height:720px;min-height:max(720px,92svh);padding-bottom:135px}.hero-services h1{font-size:calc(clamp(3rem,10vw,4.3rem) * var(--kop-s));line-height:1.08}.hero-services .hero-bg{object-position:62% 50%}.hero-services .lead{max-width:33ch}}

/* ==========================================================================
   v3 — beweging en foto's terug uit het oorspronkelijke ontwerp 1
   (aanvulling op de versie van ChatGPT; alle regels hieronder zijn nieuw)
   ========================================================================== */

/* Kleur van het veeg-vlak volgt de achtergrond van de sectie */
main{--mask:var(--paper)}
.white{--mask:var(--surface)}
.dark{--mask:var(--navy)}

/* Koppen woord voor woord */
.motion .split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.motion .split .w>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--i) * 55ms)}
.motion .split.in .w>span{transform:none}
.motion .hero-copy h1{animation:none}
.motion .hero h1 .w>span{transition-duration:1.2s;transition-delay:calc(var(--i) * 70ms + 150ms)}

/* Foto's die met een veeg in beeld komen */
.motion .mask{position:relative;overflow:hidden}
.motion .mask::after{content:'';position:absolute;inset:-1px;z-index:3;background:var(--mask);transform-origin:top;transition:transform 1.3s cubic-bezier(.7,0,.2,1)}
.motion .mask.in::after{transform:scaleY(0)}
.motion .mask img{transform:scale(1.16);transition:transform 1.9s var(--ease)}
.motion .mask.in img{transform:none}
.motion .service:hover .mask.in img,.motion .strip-track figure:hover .mask.in img{transform:scale(1.04)}
.motion .report-shell.mask{overflow:visible}
.motion .report-shell.mask::after{inset:-2px -30px -2px -2px}
.motion .portrait-placeholder.mask::after{border-radius:50% 50% 3px 3px}

/* Parallax: grote foto's iets groter maken zodat er bij het verschuiven geen rand zichtbaar wordt */
.motion .hero-bg{inset:-7% 0 auto 0;height:114%}
.motion .closing img{inset:-8% 0 auto 0;height:116%}

/* Draaiend zegel bij de introductiefoto */
.seal{overflow:visible}
.seal .ring{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}
.seal .ring text{font-family:var(--sans);font-size:9.4px;letter-spacing:2.6px;text-transform:uppercase;fill:var(--gold-light)}
.motion .seal .ring{animation:seal-spin 28s linear infinite}
@keyframes seal-spin{to{transform:rotate(360deg)}}
.seal b{position:relative}

/* Weekverslag: regels en vinkjes verschijnen na elkaar */
.motion .report-card .report-list li{opacity:0;transform:translateX(-12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.motion .report-card .check-icon{transform:scale(.4);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.motion .report-card.in .report-list li{opacity:1;transform:none}
.motion .report-card.in .check-icon{transform:none}
.motion .report-card .report-list li:nth-child(1),.motion .report-card .report-list li:nth-child(1) .check-icon{transition-delay:.35s}
.motion .report-card .report-list li:nth-child(2),.motion .report-card .report-list li:nth-child(2) .check-icon{transition-delay:.5s}
.motion .report-card .report-list li:nth-child(3),.motion .report-card .report-list li:nth-child(3) .check-icon{transition-delay:.65s}
.motion .report-card .report-list li:nth-child(4),.motion .report-card .report-list li:nth-child(4) .check-icon{transition-delay:.8s}
.motion .report-card .report-list li:nth-child(5),.motion .report-card .report-list li:nth-child(5) .check-icon{transition-delay:.95s}
.motion .report-card .report-thumbs img{opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease) 1.15s,transform .6s var(--ease) 1.15s}
.motion .report-card.in .report-thumbs img{opacity:1;transform:none}

/* Knoppen: vlak dat van onder vult, magnetisch effect loopt via 'translate' */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .3s,color .3s,border-color .3s,translate .25s var(--ease)}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--gold);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease)}
.btn:hover{background:var(--navy);color:var(--navy)}
.btn.gold::before{background:var(--gold-light)}
.btn.gold:hover{background:var(--gold)}
.btn.outline::before{background:var(--navy)}
.btn.outline:hover{background:transparent;color:#fff;border-color:var(--navy)}
.btn:hover::before{transform:scaleY(1)}

/* Openingsfoto's op Over Tom en Contact */
.hero-page{min-height:640px;min-height:clamp(600px,76svh,760px);padding-bottom:90px}
.hero-page.hero-short{min-height:560px;min-height:clamp(540px,64svh,660px)}
.hero-page h1{font-size:calc(clamp(3.4rem,6.5vw,6.25rem) * var(--kop-s));line-height:1.04;max-width:16ch}
.hero-page .lead{max-width:44ch}

/* Fotostrook "Thuis aan de kust" */
.strip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.strip-nav{display:flex;gap:10px}
.strip-nav button{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--navy);font-size:1.1rem;display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s}
.strip-nav button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.strip-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:48px;padding-bottom:16px;scrollbar-width:thin;scroll-padding-inline:0}
.strip-track figure{flex:0 0 clamp(250px,28vw,380px);scroll-snap-align:start}
.strip-track .frame{aspect-ratio:3/4;border-radius:3px;overflow:hidden;background:var(--sand)}
.strip-track figure:nth-child(odd) .frame{border-radius:50% 50% 3px 3px}
.strip-track img{height:100%;transition:transform 1.2s var(--ease)}
.strip-track figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:14px;font-size:.875rem;color:var(--muted)}
.strip-track figcaption b{font:500 1.35rem/1.2 var(--serif);color:var(--navy)}

/* Vloeiende overgang tussen pagina's (browsers die het ondersteunen; anders gewone navigatie) */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .header{view-transition-name:site-header}
  .mobile-contact{view-transition-name:mobile-contact}
  ::view-transition-old(root){animation:vt-out .35s cubic-bezier(.4,0,.2,1) both}
  ::view-transition-new(root){animation:vt-in .7s cubic-bezier(.7,0,.2,1) both}
}
@keyframes vt-out{to{opacity:.4;transform:scale(.985)}}
@keyframes vt-in{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}

/* Mobiel: korter label boven de kop */
@media(max-width:700px){
  .hide-sm{display:none}
  .hero-page{min-height:560px;min-height:max(560px,72svh)}
  .hero-page h1{font-size:calc(clamp(2.9rem,11vw,4rem) * var(--kop-s))}
  .strip-track{gap:14px;margin-top:34px}
  .strip-nav button{width:46px;height:46px}
}

/* ==========================================================================
   v4 — kleurversies, lettertype koppen en rechte foto's (wensen Tom)
   ========================================================================== */

/* 1 Origineel: navy en goud */
:root{
  --navy:#0f1c2e;--deep:#0a1422;--ink:#1a2535;--muted:#526071;
  --gold:#c9a96e;--gold-light:#e8d4a8;--gold-text:#85632d;--gold-btn-text:#0f1c2e;--eyebrow-dark:#c9a96e;
  --paper:#f7f5f1;--sand:#ede8df;--line:#ded9d0;--surface:#fff;
  --btn-hover:#24384f;--outline:#a5acb4;--on-dark-line:#7d8794;--on1:#e5e8eb;--on2:#c6ccd4;
  --foot:#c4ccd5;--foot2:#a7b0bd;--foot-line:#344051;--foot-line2:#58616d;
  --tint-border:#d8c496;--tint-text:#785823;--tint-bg:#f0e6ce;--tint-text2:#62543e;
  --portrait-line:#5f5b4e;--field-line:#b4b5b4;--check-line:#bbb59e;--shade:7 18 32;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.2,.75,.2,1);--white:#fff;--kop-s:1;
  --dark-bg:var(--navy);--em-accent:var(--gold-text);
  --gold-hover-fill:var(--gold-light);--brand:var(--dark-bg);--brand-accent:var(--gold-light);
}
/* ---- Terracotta-varianten (t9–t12): trendkleur 2026, rustiger en dieper dan t2/t3 ---- */
/* 10 Terracotta & chocolade: rijk en warm, terracotta licht op in het donker */
html[data-thema=t10]{
  --navy:#3b241d;--deep:#2a1914;--ink:#2a1c17;--muted:#6a5a50;
  --gold:#cf7a50;--gold-light:#f0c9b0;--gold-text:#9c4526;--gold-btn-text:#2a1914;--eyebrow-dark:#e0936c;
  --paper:#f3ece3;--sand:#e8ddcf;--line:#dacdbb;--surface:#faf6f0;
  --btn-hover:#57362b;--outline:#bfae9d;--on-dark-line:#8a6b5e;--on1:#f5ebe3;--on2:#e3d0c3;
  --foot:#d9c4b6;--foot2:#ae9788;--foot-line:#4a3027;--foot-line2:#6a4a3e;
  --tint-border:#e6c0a9;--tint-text:#8a3a1e;--tint-bg:#f5e1d3;--tint-text2:#6b3f2d;
  --portrait-line:#8a5a46;--field-line:#c2b2a2;--check-line:#cdbba9;--shade:36 20 14;
  --brand:#9c4526;
}
/* knoppen: vulkleur bij hover per thema (voor witte tekst op terracotta) */
.btn.gold::before{background:var(--gold-hover-fill)}
/* terracotta-varianten: subtiele kleistructuur op donkere vlakken, zoals in het moodboard */
html[data-thema=t10] :is(.dark,.footer){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .075 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* donkere vlakken via eigen token; accentkleur voor schuine woorden in koppen op lichte vlakken */
.dark{background:var(--dark-bg);--mask:var(--dark-bg)}
main .section:not(.dark) :is(h2,h3) em,.page-head h1 em{color:var(--em-accent)}

/* Lettertype koppen (in grootte gelijkgetrokken met Cormorant) */
html[data-kop=playfair]{--serif:'Kop Playfair',Georgia,serif;--kop-s:.85}
html:not([data-kop=cormorant]) .hero h1{line-height:1.08}
html:not([data-kop=cormorant]) :is(h1,h2){line-height:1.1}

/* Tokens die in v3 nog vaste kleuren waren */
.dark .eyebrow{color:var(--eyebrow-dark)}
.btn.gold{color:var(--gold-btn-text)}
.btn:hover{color:var(--gold-btn-text)}
.btn.outline:hover{color:#fff}
.btn.gold:hover{color:var(--gold-btn-text)}
body,.header,.footer,.section,.mobile-contact{transition:background-color .45s,color .45s,border-color .45s}

/* Rechte foto's in plaats van bogen */
.arch,.service-image,.report-backdrop,.head-photo,.portrait-placeholder,
.about-gallery figure:first-child img,.strip-track figure:nth-child(odd) .frame,
.motion .portrait-placeholder.mask::after{border-radius:2px!important}
.portrait-placeholder:before{border-radius:1px!important}
/* v5 — aanvullingen */
:root{--accent-btn:#a04b2c;--accent-btn-hover:#86391f}
.price .from{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.btn.accent{background:var(--accent-btn);color:#fff}
.btn.accent::before{background:var(--accent-btn-hover)}
.btn.accent:hover{background:var(--accent-btn);color:#fff}
.custom-rate{flex-wrap:wrap;padding:28px 32px}
.custom-rate strong{font:500 calc(1.5rem * var(--kop-s))/1.25 var(--serif);display:inline-block;margin-bottom:4px;color:var(--navy)}
.custom-rate .btn{flex:none}
.work-grid h3{font-size:calc(1.7rem * var(--kop-s));margin:10px 0}
.work-grid p{font-size:1rem;color:var(--muted)}
.work-cta{margin-top:44px}
.team-lead{max-width:40ch}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.member-photo{aspect-ratio:4/5;background:var(--sand);border:1px solid var(--line);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--gold-text)}
.member-photo b{font:400 italic calc(4.5rem * var(--kop-s))/1 var(--serif)}
.member-photo span{font-size:.8125rem;color:var(--muted)}
.member h3{margin-top:18px;font-size:calc(1.9rem * var(--kop-s))}
.member-role{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-text);margin-top:6px}
.member-lang{font-size:.9375rem;color:var(--muted);margin-top:8px}
.wa-mark svg{width:30px;height:30px}
.company{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:10px 0 24px}
.company div{padding:15px 0;border-top:1px solid var(--line)}
.company dt{font-size:.8125rem;color:var(--muted)}
.company dd{margin:4px 0 0;font-size:1rem}
.company a{color:var(--ink)}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.company{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .team-grid{gap:18px}
  .member h3{font-size:calc(1.6rem * var(--kop-s))}
  .company{grid-template-columns:1fr}
  .custom-rate{padding:24px 22px}
  .custom-rate .btn{width:100%;margin-top:16px}
  .work-grid{grid-template-columns:1fr}
}

/* contact zonder formulier: gegevens in de rechterkolom */
.contact-details .contact-meta{margin-top:0}
/* donkere sectie: uitstekende schaduw/foto van het weekverslag niet laten scrollen op mobiel */
.section.dark{overflow-x:clip}
/* Taalkeuze */
.lang{position:relative;flex:none}
.lang summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;min-height:44px;padding:0 4px;font-size:.875rem;font-weight:500;letter-spacing:.06em;color:inherit}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{width:18px;height:18px;opacity:.85}
.lang summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .2s}
.lang[open] summary::after{transform:translateY(1px) rotate(225deg)}
.lang ul{position:absolute;right:0;top:calc(100% + 6px);z-index:60;list-style:none;margin:0;padding:6px;min-width:190px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.lang li a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:4px;text-decoration:none;font-size:.9375rem;min-height:44px}
.lang li a b{font-size:.75rem;letter-spacing:.1em;color:var(--gold-text);width:22px}
.lang li a:hover{background:var(--sand)}
.lang li a[aria-current]{background:var(--sand);font-weight:500}
.lang summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.dialog-lang{display:flex;gap:18px;margin-top:34px;font-size:.9375rem}
.dialog-lang a{text-decoration:none;opacity:.75;padding:8px 0;border-bottom:1px solid transparent}
.dialog-lang a[aria-current]{opacity:1;border-bottom-color:var(--gold-light);color:var(--gold-light)}
@media(max-width:900px){.lang{margin-left:auto}.menu-button{margin-left:12px}}
@media(max-width:420px){.lang summary svg{display:none}.lang summary{padding:0 2px;gap:5px}.menu-button{margin-left:10px;font-size:0;gap:0;min-width:44px;justify-content:flex-end}.menu-button .menu-lines{width:24px}}
/* fase 2: vervangt de inline style-attributen (CSP style-src 'self') */
.mt-25{margin-top:25px!important}
.mt-7{margin-top:7px!important}
/* fase 3: juridische pagina's, 404 en juridische links in de footer */
.legal{max-width:78ch}
.legal h2{font-size:calc(1.75rem * var(--kop-s));letter-spacing:-.01em;margin:46px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p,.legal ul{margin-top:12px}
.legal ul{padding-left:1.2em}
.legal+.legal{margin-top:46px}
.footer .footer-legal{flex-direction:row;flex-wrap:wrap;gap:6px 22px}
.footer .footer-legal a{text-decoration:underline}
