/* Karina Knepper Interior Design — based on v1, local assets and no external dependencies. */
:root{--paper:#f8f6f1;--cream:#f2eee6;--warm:#eae5da;--sand:#dbd0be;--ink:#262c27;--olive:#39463e;--muted:#70756e;--clay:#ad8468;--line:#deddd4;--white:#fffefa;--serif:Georgia,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',Helvetica,sans-serif;--container:1320px;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
img,svg{display:block;max-width:100%}img{object-fit:cover}
a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--clay);outline-offset:5px}
::selection{background:#d1d5c7;color:var(--ink)}
.container{width:min(var(--container),calc(100% - 100px));margin-inline:auto}
.skip-link{position:fixed;top:8px;left:10px;z-index:999;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-note{height:32px;display:flex;align-items:center;justify-content:center;gap:13px;background:var(--olive);color:#f1f1e9;font-size:9px;letter-spacing:.19em;text-transform:uppercase}.site-note span:first-child{font-weight:700}.site-note-divider{opacity:.5}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,246,241,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(61,60,52,.09)}
.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{width:47px;height:47px;display:grid;place-items:center;border:1px solid var(--olive);color:var(--olive);position:relative;font-family:var(--serif)}.brand-mark span{font-size:32px;line-height:1;transform:translateY(-5px);font-style:italic}.brand-mark i{position:absolute;bottom:4px;right:6px;font-size:22px;font-style:normal}.brand-type{display:flex;flex-direction:column;gap:0;line-height:1.5}.brand-type strong{font-size:14px;letter-spacing:.17em;font-weight:700}.brand-type small{font-size:9px;letter-spacing:.235em;color:var(--muted)}
.primary-nav{display:flex;align-items:center;gap:34px;margin-left:auto}.primary-nav a{font-size:12px;letter-spacing:.045em;color:#3d423e;transition:color .2s}.primary-nav a:hover,.footer a:hover{color:var(--clay)}.nav-contact{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px;white-space:nowrap;font-weight:600}.nav-contact span{font-size:19px;font-weight:400}.nav-contact:hover{color:var(--clay);border-color:var(--clay)}.mobile-contact,.menu-toggle{display:none!important}
.hero{padding-top:44px}.hero-grid{display:grid;grid-template-columns:47% 53%;min-height:700px;align-items:stretch}.hero-copy{padding:93px 55px 40px 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.section-kicker{font-size:10px;font-weight:700;letter-spacing:.23em;text-transform:uppercase;line-height:1.5}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{width:31px;height:1px;background:var(--clay)}
h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--serif);font-size:clamp(68px,6.35vw,113px);line-height:1.055;letter-spacing:-.058em;font-weight:400;margin:38px -125px 27px 0;position:relative;z-index:2;white-space:nowrap}.hero h1 em,h2 em{color:var(--clay);font-weight:400}.hero-description{font-size:16px;line-height:1.85;max-width:408px;color:#686f67;margin:0 0 37px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:43px;padding:17px 24px;border:1px solid transparent;font-size:12px;font-weight:600;letter-spacing:.03em;min-height:56px;transition:background .22s,transform .22s,color .22s;border-radius:0;cursor:pointer}.button:hover{transform:translateY(-3px)}.button span{font-size:20px;line-height:1;font-weight:400}.button-dark{background:var(--olive);color:#fff}.button-dark:hover{background:#27342c}.button-light{background:#faf9f5;color:var(--olive)}.button-light:hover{background:#e1ddd0}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;border-bottom:1px solid #a8a99e;padding-bottom:4px;white-space:nowrap}.text-link:hover{color:var(--clay)}.text-link span{font-size:18px}.hero-footnote{display:flex;gap:14px;align-items:center;margin-top:auto;padding-top:52px;color:#788076;font-family:var(--serif);font-style:italic;font-size:14px;line-height:1.4}.asterisk{font-family:var(--sans);font-style:normal;color:var(--clay);font-size:25px}
.hero-art{position:relative;padding:0 0 22px 22px;min-width:0}.hero-art-image{height:100%;min-height:650px;background:#e0d4c3;overflow:hidden}.hero-art-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.hero-art:hover .hero-art-image img{transform:scale(1.03)}.hero-art-label{position:absolute;right:0;bottom:22px;left:22px;display:flex;justify-content:space-between;align-items:center;padding:15px 22px;background:rgba(250,248,241,.91);font-size:11px;letter-spacing:.045em;backdrop-filter:blur(8px)}.hero-art-label span:first-child{font-weight:700;letter-spacing:.2em}.hero-stamp{position:absolute;width:108px;height:108px;top:33px;right:-23px;border-radius:50%;background:var(--paper);border:1px solid #e1dfd4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:14px;font-style:italic;line-height:1.15;transform:rotate(12deg)}.stamp-star{font:20px var(--sans);color:var(--clay);margin-top:3px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:10px;font-weight:700;letter-spacing:.21em;color:var(--muted)}.hero-bottom a{color:var(--ink)}.hero-bottom a span{font-size:18px;vertical-align:middle;margin-left:8px}
.section-space{padding-block:125px}.section-kicker{color:var(--clay);margin-bottom:25px}h2{font-family:var(--serif);font-size:clamp(40px,4.55vw,68px);line-height:1.15;letter-spacing:-.043em;font-weight:400;margin-bottom:0}h3{font-weight:500}
.intro-head,.portfolio-heading,.process-top{display:flex;justify-content:space-between;align-items:end;gap:70px}.intro-head>p,.portfolio-heading>p,.process-top>p{max-width:370px;color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:10px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px}.service-item{min-height:280px;position:relative;border-top:1px solid #a7a9a0;padding:26px 30px 16px 0;display:flex;flex-direction:column}.service-number{font-family:var(--serif);font-size:18px;color:var(--clay)}.service-icon{width:62px;height:62px;margin:15px 0 26px;color:var(--olive)}.service-icon svg{width:100%;height:100%}.service-item h3{font-family:var(--serif);font-size:29px;letter-spacing:-.025em;margin:0 0 12px}.service-item p{font-size:14px;color:var(--muted);line-height:1.8;max-width:305px;margin:0}.service-decoration{position:absolute;top:23px;right:0;font-size:20px;color:#a6aaa0}
.portfolio{background:var(--cream)}.portfolio-heading h2{max-width:720px}.portfolio-heading>p{max-width:340px}.filters{display:flex;align-items:center;gap:30px;border-bottom:1px solid #d9d3c8;margin:54px 0 32px;overflow:auto;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter-button{background:none;border:0;padding:0 0 17px;cursor:pointer;color:#85867f;font-size:13px;white-space:nowrap;position:relative}.filter-button span{font-size:9px;margin-left:3px;color:var(--clay)}.filter-button.is-active{color:var(--ink);font-weight:700}.filter-button.is-active::after{content:"";height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--olive)}.filter-button:hover{color:var(--ink)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:42px}.project-card[hidden]{display:none!important}.project-button{width:100%;padding:0;border:none;background:none;text-align:left;cursor:pointer;color:inherit}.project-image{display:block;background:#e3dbcf;aspect-ratio:1.3/1;overflow:hidden;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.project-card:nth-child(2) .project-image{aspect-ratio:1.3/1}.project-button:hover img,.project-button:focus-visible img{transform:scale(1.06)}.project-zoom{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--olive);font-size:23px;transition:transform .25s}.project-button:hover .project-zoom{transform:translate(3px,-3px)}.project-info{display:flex;justify-content:space-between;align-items:center;padding-top:17px}.project-info>span:first-child{display:flex;flex-direction:column;gap:5px}.project-info small{font-size:10px;font-weight:700;letter-spacing:.17em;color:var(--clay)}.project-info strong{font-family:var(--serif);font-size:28px;letter-spacing:-.02em;font-weight:400}.project-index{font:italic 18px var(--serif);color:#93968a}.portfolio-disclaimer{margin:35px 0 0;color:#7b7b73;font-size:11px}
.about-grid{display:grid;grid-template-columns:47% 53%;align-items:center;gap:0}.about-image{position:relative;background:var(--warm);margin-right:70px}.about-image img{width:100%;height:580px;object-fit:cover}.about-image-caption{position:absolute;bottom:-16px;right:-17px;padding:14px 22px;background:var(--olive);color:white;font-size:10px;letter-spacing:.17em}.about-copy{padding:0 0 0 40px}.about-copy h2{margin-bottom:30px}.about-copy>p:not(.section-kicker){max-width:510px;color:var(--muted);line-height:1.95;font-size:15px}.about-copy .about-lead{font-family:var(--serif);font-size:23px!important;line-height:1.5!important;color:var(--ink)!important;margin-bottom:20px}.about-signature{display:flex;align-items:center;gap:18px;margin-top:35px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--serif);font-size:21px;font-style:italic;line-height:1.3}.signature-symbol{font:35px var(--sans);color:var(--clay)}.about-signature small{font-family:var(--sans);font-size:11px;font-style:normal;color:var(--muted);letter-spacing:.06em}
.process{background:#e8e9e2}.process-grid{margin-top:73px;display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.process-step{padding-top:19px;border-top:1px solid #b7bdb4}.step-number{font-family:var(--serif);font-size:35px;color:var(--olive)}.step-number span{margin-left:7px;color:#b8bfb1}.process-step h3{font-family:var(--serif);font-size:28px;margin:37px 0 12px;letter-spacing:-.02em}.process-step p{max-width:315px;color:#68736c;font-size:14px;line-height:1.85}
.contact{position:relative;overflow:hidden;background:var(--olive);color:#f6f5ee;padding:112px 0 117px}.contact-inner{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.contact .section-kicker{color:#d0b29b}.contact h2{font-size:clamp(47px,5vw,79px);margin-bottom:25px}.contact h2 em{color:#c7b5a2}.contact-inner>p:not(.section-kicker){max-width:510px;color:#e0e4da;line-height:1.85;font-size:15px;margin-bottom:30px}.contact-ornament{position:absolute;top:10px;right:4%;font-size:100px;color:#778575;opacity:.36}.contact-placeholder{font-size:11px;color:#b6c4b6;margin-top:24px}.contact-placeholder strong{font-weight:400;color:#f0f1e9}
.footer{background:var(--paper);padding-top:64px}.footer-main{display:flex;justify-content:space-between;gap:40px;padding-bottom:68px}.footer-brand{margin-bottom:20px}.footer-main p{color:var(--muted);font-size:13px;line-height:1.9}.footer-links{display:flex;gap:105px}.footer-links>div{display:flex;flex-direction:column;align-items:start;gap:11px}.footer-links h3{font-size:10px;letter-spacing:.2em;font-weight:700;margin-bottom:8px}.footer-links a{font-size:13px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:22px 0 28px;font-size:11px;color:var(--muted)}.footer-bottom a{color:var(--ink)}
.project-dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(940px,calc(100% - 40px));max-height:min(88vh,850px);box-shadow:0 25px 90px #1118}.project-dialog::backdrop{background:#17231ce0;backdrop-filter:blur(3px)}.dialog-grid{display:grid;grid-template-columns:55% 45%;min-height:420px}.dialog-grid img{width:100%;height:100%;min-height:420px;object-fit:cover;background:var(--sand)}.dialog-copy{padding:88px 43px 55px;display:flex;flex-direction:column}.dialog-copy h2{font-size:46px;margin-bottom:20px}.dialog-copy>p:not(.section-kicker){font-size:15px;color:var(--muted);line-height:1.9}.dialog-note{font-size:11px;color:var(--clay);margin-top:auto;padding-top:20px}.dialog-close{position:absolute;right:16px;top:12px;z-index:2;background:var(--paper);color:var(--ink);border:0;width:40px;height:40px;font-size:29px;cursor:pointer}
/* Plain legal pages inherit the same brand system. */
.legal-page .site-header{position:relative}.legal-hero{background:var(--cream);padding:85px 0 70px}.legal-hero h1{font-family:var(--serif);font-size:clamp(52px,6vw,84px);line-height:1.14;letter-spacing:-.04em;font-weight:400;margin:0}.legal-hero h1 em{font-weight:400;color:var(--clay)}.legal-hero p:last-child{max-width:650px;color:var(--muted);margin:24px 0 0}.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:90px;padding-top:70px;padding-bottom:110px}.legal-side{position:sticky;top:35px;align-self:start;display:flex;flex-direction:column;gap:16px}.legal-side a{font-size:12px;line-height:1.5;color:var(--muted)}.legal-side a:hover{color:var(--clay)}.legal-content{max-width:790px;min-width:0;font-size:15px;line-height:1.9;color:#515851}.legal-content h2{font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-.02em;line-height:1.3;color:var(--ink);margin:42px 0 15px}.legal-content h2:first-child{margin-top:0}.legal-content h3{font-size:17px;color:var(--ink);font-weight:700;margin:23px 0 8px}.legal-content p{margin:0 0 15px}.legal-content ul{padding-left:20px}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-warning{border-left:3px solid var(--clay);padding:17px 21px;background:#ede7db;color:#41433b;margin-bottom:33px}.legal-warning strong{display:block;margin-bottom:5px}.placeholder{background:#f1dec8;color:#6a3d2e;padding:0 3px;font-weight:700;border-radius:2px}.legal-content hr{border:0;border-top:1px solid var(--line);margin:40px 0}.legal-small{font-size:12px;color:#7c7e76}
/* Scroll reveal: content stays visible without JS. JS adds .js-enabled before observation. */
.js-enabled .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js-enabled .reveal.visible{opacity:1;transform:none}
@media(max-width:1180px){.container{width:min(var(--container),calc(100% - 66px))}.header-inner{gap:24px}.primary-nav{gap:21px}.hero h1{font-size:clamp(59px,6.3vw,83px)}.hero-copy{padding-right:30px}.hero-actions{gap:22px}.about-image{margin-right:40px}.about-copy{padding-left:27px}.footer-links{gap:55px}}
@media(max-width:900px){.header-inner{height:79px}.site-note{letter-spacing:.11em}.primary-nav{position:absolute;top:100%;left:0;right:0;padding:22px 32px 34px;background:var(--paper);box-shadow:0 12px 18px #18211b14;display:flex;flex-direction:column;align-items:stretch;gap:0;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility .2s}.primary-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}.primary-nav a{padding:13px 2px;font-size:16px;border-bottom:1px solid var(--line)}.primary-nav .mobile-contact{display:flex!important;justify-content:space-between;color:var(--clay);font-weight:700;border-bottom:none;margin-top:11px}.nav-contact{margin-left:auto}.menu-toggle{display:flex!important;border:1px solid var(--line);width:45px;height:45px;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;flex-shrink:0}.menu-toggle span{height:1px;background:var(--ink);width:21px;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero-grid{grid-template-columns:50% 50%;min-height:610px}.hero-copy{padding-top:75px}.hero h1{font-size:clamp(48px,6.3vw,65px);margin-right:-70px;white-space:normal}.hero-description{font-size:14px}.hero-art-image{min-height:570px}.hero-stamp{right:-9px}.hero-actions .text-link{margin-top:2px}.section-space{padding-block:90px}.intro-head,.portfolio-heading,.process-top{align-items:start;flex-direction:column;gap:22px}.intro-head>p,.portfolio-heading>p,.process-top>p{max-width:580px;margin:0}.service-grid,.process-grid{gap:20px}.service-item{padding-right:3px}.service-item h3{font-size:25px}.about-image{margin-right:20px}.about-image img{height:490px}.about-copy{padding-left:20px}.about-copy .about-lead{font-size:20px!important}.about-copy h2{font-size:45px}.legal-layout{grid-template-columns:180px minmax(0,1fr);gap:30px}}
@media(max-width:650px){html{scroll-padding-top:5.2rem}.container{width:calc(100% - 38px)}.site-note{font-size:8px;gap:8px;padding-inline:10px;text-align:center}.site-note-divider{display:none}.brand-mark{width:41px;height:41px}.brand-type strong{font-size:12px}.brand-type small{font-size:8px}.header-inner{height:72px;gap:14px}.nav-contact{display:none}.hero{padding-top:0}.hero-grid{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:65px 0 38px}.hero h1{font-size:clamp(49px,11.7vw,75px);margin:26px 0 20px;line-height:1.07}.hero-description{max-width:510px;font-size:15px;line-height:1.8;margin-bottom:27px}.hero-actions{gap:23px}.button{padding:16px 20px;min-height:54px;gap:30px}.hero-footnote{display:none}.hero-art{padding:0 10px 14px 0}.hero-art-image{height:490px;min-height:0}.hero-art-label{bottom:14px;left:0;padding:12px 14px}.hero-stamp{width:78px;height:78px;right:-9px;top:23px;font-size:11px}.stamp-star{font-size:15px}.hero-bottom{padding-top:22px;font-size:9px}.hero-bottom span:first-child{max-width:185px;line-height:1.5}.hero-bottom a{white-space:nowrap;letter-spacing:.08em}.section-space{padding-block:76px}.section-kicker{margin-bottom:20px}h2{font-size:clamp(37px,9vw,52px)}.intro-head>p,.portfolio-heading>p,.process-top>p{font-size:14px}.service-grid{grid-template-columns:1fr;gap:0;margin-top:48px}.service-item{min-height:0;padding:24px 35px 27px 0;border-top:1px solid #b9bcb3}.service-icon{margin:4px 0 18px;width:54px;height:54px}.service-item h3{font-size:27px}.service-item p{max-width:430px}.portfolio-heading h2{max-width:100%}.filters{gap:24px;margin-top:35px}.portfolio-grid{grid-template-columns:1fr;gap:26px}.project-image,.project-card:nth-child(2) .project-image{aspect-ratio:1.23/1}.project-info strong{font-size:26px}.portfolio-disclaimer{margin-top:29px;line-height:1.6}.about-grid{grid-template-columns:1fr;gap:52px}.about-image{margin-right:19px}.about-image img{height:auto;aspect-ratio:1.08/1}.about-copy{padding:0}.about-copy h2{font-size:clamp(40px,10vw,55px)}.about-image-caption{right:-17px}.process-grid{grid-template-columns:1fr;gap:20px;margin-top:48px}.process-step{padding:21px 0 7px;display:grid;grid-template-columns:75px 1fr;column-gap:20px;align-items:start}.step-number{grid-row:span 2;font-size:32px}.process-step h3{margin:4px 0 7px;font-size:25px}.process-step p{margin:0;grid-column:2;font-size:14px}.contact{padding:89px 0 94px}.contact h2{font-size:clamp(42px,10.4vw,62px)}.contact-ornament{font-size:66px;top:0;right:0}.footer{padding-top:54px}.footer-main{flex-direction:column;gap:31px;padding-bottom:43px}.footer-links{gap:50px}.footer-bottom{align-items:flex-start;gap:22px;line-height:1.7}.footer-bottom span{max-width:260px}.footer-bottom a{white-space:nowrap}.dialog-grid{grid-template-columns:1fr}.dialog-grid img{height:260px;min-height:0}.dialog-copy{padding:38px 28px 40px}.dialog-copy h2{font-size:38px}.dialog-close{right:7px;top:7px}.legal-hero{padding:60px 0}.legal-hero h1{font-size:clamp(47px,13vw,65px)}.legal-layout{display:block;padding-top:42px;padding-bottom:72px}.legal-side{position:relative;top:auto;display:flex;flex-direction:row;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:30px}.legal-content{font-size:14px}.legal-content h2{font-size:29px}}
@media(max-width:380px){.hero h1{font-size:47px}.hero-actions{align-items:flex-start;flex-direction:column}.site-note{font-size:7px}.brand-type strong{letter-spacing:.12em}.footer-links{gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
/* Make navigation accessible if scripting is blocked. */
@media(max-width:900px){html:not(.js-enabled) .primary-nav{position:static;visibility:visible;opacity:1;pointer-events:auto;transform:none;box-shadow:none;display:flex;flex-wrap:wrap;flex-direction:row;gap:10px;padding:10px 0;background:transparent}html:not(.js-enabled) .primary-nav a{font-size:12px;padding:3px;border:0}html:not(.js-enabled) .primary-nav .mobile-contact{display:none!important}html:not(.js-enabled) .header-inner{height:auto;min-height:79px;flex-wrap:wrap;padding-block:12px}html:not(.js-enabled) .menu-toggle{display:none!important}}


/* Adapted from v1's editorial layout, spacing, colors and typography.
   Local-only assets; no external fonts, scripts or trackers. */
:root{--paper:#f8f6f1;--cream:#f2eee6;--warm:#eae5da;--sand:#dbd0be;--ink:#262c27;--olive:#39463e;--muted:#70756e;--clay:#ad8468;--line:#deddd4;--white:#fffefa;--serif:Georgia,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',Helvetica,sans-serif;--container:1320px;--ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:6rem}*{box-sizing:border-box}img{display:block;max-width:100%}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,summary{font:inherit}button{color:inherit}figure{margin:0}.container{width:min(var(--container),calc(100% - 100px));margin-inline:auto}
.site-note{min-height:32px;height:auto;padding:8px 18px;line-height:1.5}.site-note span{padding-inline:9px;opacity:.65}
.site-header{z-index:15}.brand{width:218px;flex-shrink:1}.brand img{display:block;width:100%;height:auto}.header-inner{min-height:90px;height:auto;gap:22px}.primary-nav{gap:26px}.nav-contact{margin-left:0}
.hero h1{white-space:normal;max-width:650px;font-size:clamp(60px,6.35vw,96px);margin-right:-72px;line-height:1.08;overflow-wrap:normal}.hero h1 em{display:block}.hero-copy{padding-right:24px}.hero-art-image{background:#dad0c6}.hero-art-image img{object-position:50% 50%}.hero-grid{grid-template-columns:48% 52%}.hero-art-label{left:22px}
.section-kicker{line-height:1.7}.intro-head h2,.portfolio-heading h2,.process-top h2{max-width:760px}.footer-brand{display:block;width:225px;margin-bottom:15px}.footer-brand img{width:100%;height:auto}.footer-main{align-items:start}.footer-links{gap:90px}.footer-bottom span:first-child{max-width:70%}.footer a:hover{text-decoration-color:var(--clay)}
.service-item h3{font-size:28px}.service-item .service-number{font-size:12px;letter-spacing:.16em;font-family:var(--sans);font-weight:700}.service-price{margin-top:auto;padding-top:23px;font-family:var(--serif);font-size:21px;color:var(--olive)}.service-price small{font-family:var(--sans);font-size:11px;color:var(--muted)}.service-item>a{font-size:12px;font-weight:700;display:inline-block;margin-top:15px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--clay)}.service-item>a:hover{color:var(--clay)}.pricing-note{font-size:11px;line-height:1.85;color:var(--muted);max-width:1070px;margin:26px 0 0}
.contact-mail,.contact-direct a{overflow-wrap:anywhere}
/* studio: services as detailed editorial cards */
.studio .intro{padding-bottom:135px}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:64px}.package-card{padding:32px 29px 28px;border:1px solid #dedbd0;background:#fbfaf6;display:flex;flex-direction:column;min-height:590px;min-width:0;transition:transform .25s,box-shadow .25s}.package-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #20292010}.package-featured{background:#eeeee6;border-color:#c4c9b9}.package-meta{font-size:10px;color:var(--clay);font-weight:700;letter-spacing:.1em;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.package-meta span:last-child{color:#5e6b5d}.package-card h3{font-family:var(--serif);font-size:clamp(29px,3vw,41px);line-height:1.16;letter-spacing:-.035em;margin:33px 0 13px;font-weight:400}.package-card h3 em{font-weight:400;color:var(--clay)}.package-lead{font-size:14px;line-height:1.8;color:#686e67;min-height:77px}.package-card ul{padding:0;margin:18px 0 30px;list-style:none;border-top:1px solid #ddded5}.package-card li{font-size:13px;line-height:1.65;color:#4f5850;border-bottom:1px solid #e0e0d7;padding:11px 0 11px 21px;position:relative}.package-card li:before{content:'✳';position:absolute;left:0;top:13px;font-size:10px;color:var(--clay)}.package-bottom{display:flex;flex-direction:column;margin-top:auto;gap:16px;align-items:flex-start}.package-price{font-size:26px;font-family:var(--serif);line-height:1.2;color:var(--olive)}.package-price small{display:block;font-size:11px;font-family:var(--sans);color:var(--muted);margin-top:6px}.package-price-small{font-size:21px}.package-link{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid var(--olive);padding-bottom:6px;font-weight:700;font-size:12px}.package-link:hover{color:var(--clay);border-color:var(--clay)}
/* supplied photographs in studio gallery */
.portfolio-grid{row-gap:39px}.project-card .project-image,.project-card:nth-child(2) .project-image{aspect-ratio:1.44/1}.project-image img{object-fit:cover}.project-card:nth-child(1) .project-image img{object-position:50% 48%}.project-card:nth-child(2) .project-image img{object-position:50% 53%}.project-card:nth-child(3) .project-image img{object-position:center center}.project-card:nth-child(4) .project-image img{object-position:center center}.filters{margin-top:42px}.portfolio-disclaimer{font-size:11px}
.about-image img{height:540px;object-fit:cover}.about-copy{padding-left:24px}.about-copy h2{font-size:clamp(42px,4.4vw,64px)}
.care{background:#e8eae1}.care-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:100px;align-items:start}.care-copy h2{max-width:650px}.care-lead{font-family:var(--serif);font-size:clamp(22px,2.2vw,29px);line-height:1.45;margin:34px 0 21px}.care-copy>p:not(.section-kicker){color:#5f695f;line-height:1.85;max-width:550px}.care-copy .button{margin-top:18px}.care-list{padding:35px 40px;background:#fbfaf6;border-top:3px solid var(--olive)}.mini-heading{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--clay)}.care-list ul{padding:0;margin:21px 0;list-style:none}.care-list li{padding:11px 0 11px 20px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.65;position:relative}.care-list li:before{content:'—';position:absolute;left:0;color:var(--clay)}.care-extra{font-size:12px;color:var(--muted);margin-bottom:0;line-height:1.7}
.process-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.process-step h3{font-size:27px}.process-step p{font-size:14px;color:var(--muted)}
.faq{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.faq-items{border-top:1px solid #ccc7bd}.faq details{border-bottom:1px solid #ccc7bd}.faq summary{cursor:pointer;padding:22px 35px 22px 0;font-size:17px;line-height:1.45;font-weight:600;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:5px;top:17px;font-size:26px;color:var(--clay);font-weight:400}.faq details[open] summary::after{content:'−'}.faq details p{margin:0;padding:0 35px 23px 0;color:#646e65;font-size:14px;line-height:1.8}
.studio .contact h2{max-width:900px;margin-inline:auto}.contact-actions{display:flex;justify-content:center;align-items:center;gap:34px;flex-wrap:wrap;margin-top:30px}.contact-phone{color:#f3f0e7;border-bottom:1px solid #afb4aa;padding:7px 0;font-size:13px;font-weight:700}.contact-phone span{padding-left:13px}.contact-mail{display:inline-block;margin-top:22px;font-size:13px;color:#d4dccf;border-bottom:1px solid #879187}.contact-inner{position:relative}
.project-dialog{overflow:auto}
/* Essential: preserve the v1 geometry but strip back UI and decorative effects. */
.essential{--paper:#fcfaf6;--cream:#f4f1ea;--olive:#37443e;--clay:#a77f66}.essential .site-note{background:#e9e9df;color:#4c5c50}.essential .site-header{background:var(--paper)}.essential .hero{padding-top:30px}.essential .hero-grid{grid-template-columns:50% 50%;min-height:630px}.essential .hero-copy{padding-top:84px}.essential .hero h1{font-size:clamp(57px,6.2vw,89px);max-width:530px;margin-right:-55px}.essential .hero-art{padding-bottom:0}.essential .hero-art-image{min-height:620px}.essential .hero-art-image img{object-position:50% 49%}.essential .hero-art-label{bottom:0}.essential .intro{padding-bottom:100px}.essential .service-grid{margin-top:59px;gap:27px}.essential .service-item{padding:25px 12px 13px 0;min-height:300px}.essential .service-item h3{margin:31px 0 11px}.essential .service-item p{max-width:340px}.essential .service-item .service-price{padding-top:26px}.photo-section{background:var(--cream)}.photo-heading{display:flex;gap:75px;justify-content:space-between;align-items:end;margin-bottom:47px}.photo-heading>p{max-width:320px;color:var(--muted);line-height:1.85;margin-bottom:5px;font-size:15px}.photo-pair{display:grid;grid-template-columns:1.18fr .82fr;gap:26px;align-items:stretch}.photo-pair figure{height:100%}.photo-pair img{width:100%;height:460px;object-fit:cover}.photo-pair figure:first-child img{object-position:center}.photo-pair figure:nth-child(2) img{object-position:center 50%}.photo-pair figcaption{font:italic 17px var(--serif);color:#697268;padding-top:17px}.guest-line{padding:87px 0;background:var(--paper);border-bottom:1px solid var(--line)}.guest-row{display:grid;grid-template-columns:1.05fr 1fr auto;align-items:center;gap:53px}.guest-row h2{font-size:clamp(36px,3.8vw,59px)}.guest-row p:not(.section-kicker){margin:0;line-height:1.85;color:var(--muted);font-size:14px}.guest-row .text-link{white-space:nowrap}.essential .contact{padding-block:105px}.essential .contact h2{font-size:clamp(43px,5.2vw,68px)}.essential .contact-inner>p:not(.section-kicker){max-width:470px;margin-inline:auto}.contact-direct{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;margin-top:28px;color:#d7e0d4;font-size:13px}.contact-direct a:hover{color:white}
/* legal pages share site design; force consistent treatment independent of concept. */
.legal-page .brand{width:205px}.legal-page .legal-warning{max-width:100%}.legal-page .legal-side{min-width:0}.legal-content a{overflow-wrap:anywhere}
@media(max-width:1180px){.container{width:min(var(--container),calc(100% - 68px))}.brand{width:180px}.header-inner{gap:16px}.primary-nav{gap:16px}.primary-nav a{font-size:11px}.hero h1{font-size:clamp(52px,6vw,78px);margin-right:-40px}.package-grid{gap:12px}.package-card{padding:27px 20px;min-height:610px}.care-grid,.faq-grid{gap:55px}.guest-row{gap:29px}}
@media(max-width:900px){.brand{width:175px}.primary-nav{gap:0}.hero h1{font-size:clamp(50px,6.4vw,69px)}.hero-grid{grid-template-columns:49% 51%}.hero-art-image{min-height:560px}.essential .hero-art-image{min-height:570px}.essential .hero h1{font-size:clamp(50px,6.5vw,67px)}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-card{min-height:540px}.package-card:nth-child(3){grid-column:1/-1;min-height:auto}.package-card:nth-child(3) ul{columns:2;column-gap:25px}.care-grid{gap:26px}.care-list{padding:25px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.faq-grid{grid-template-columns:1fr;gap:30px}.guest-row{grid-template-columns:1fr 1fr}.guest-row .text-link{grid-column:1/-1}.photo-pair img{height:400px}}
@media(max-width:650px){.container{width:calc(100% - 38px)}.site-note{font-size:8px;letter-spacing:.09em}.header-inner{height:77px;min-height:77px}.brand{width:165px}.hero{padding-top:0!important}.hero-grid,.essential .hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy,.essential .hero-copy{padding:58px 0 33px}.hero h1,.essential .hero h1{max-width:100%;font-size:clamp(49px,11.5vw,71px);margin:25px 0 22px}.hero-art,.essential .hero-art{padding:0 9px 14px 0}.hero-art-image,.essential .hero-art-image{min-height:0;height:430px}.hero-art-image img{object-position:50% 45%}.hero-art-label,.essential .hero-art-label{bottom:14px;left:0}.hero-stamp{right:-8px;top:18px}.hero-bottom{padding-top:19px}.section-space{padding-block:76px}.intro-head,.portfolio-heading,.process-top,.photo-heading{flex-direction:column;align-items:start;gap:21px}.photo-heading{margin-bottom:29px}.photo-heading>p{margin:0}.service-grid,.essential .service-grid{grid-template-columns:1fr;gap:0;margin-top:39px}.service-item,.essential .service-item{min-height:0;padding:23px 8px 27px 0}.service-item h3,.essential .service-item h3{margin:19px 0 11px}.service-item .service-price{padding-top:20px}.package-grid{grid-template-columns:1fr;margin-top:41px;gap:14px}.package-card{min-height:auto;padding:27px 24px 29px}.package-card:nth-child(3){grid-column:auto}.package-card:nth-child(3) ul{columns:1}.package-card h3{font-size:37px;margin-top:27px}.package-lead{min-height:0}.package-bottom{margin-top:19px}.studio .intro{padding-bottom:80px}.project-card .project-image,.project-card:nth-child(2) .project-image{aspect-ratio:1.3/1}.portfolio-grid{gap:26px}.about-image img{height:auto;aspect-ratio:1.18/1}.about-copy{padding:0}.care-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.care-list{padding:24px 23px}.care-copy .button{max-width:100%}.process-grid{grid-template-columns:1fr;gap:17px}.process-step{display:grid;grid-template-columns:65px 1fr;column-gap:13px}.process-step h3{font-size:25px}.process-step p{grid-column:2}.faq summary{font-size:15px;padding-block:19px}.faq details p{font-size:13px}.photo-pair{grid-template-columns:1fr;gap:32px}.photo-pair img{height:auto;aspect-ratio:1.15/1}.photo-pair figure:nth-child(2) img{object-position:50% 45%}.guest-row{grid-template-columns:1fr;gap:19px}.guest-row .text-link{grid-column:auto;justify-self:start}.guest-line{padding:67px 0}.essential .contact{padding-block:82px}.contact-actions{flex-direction:column;gap:21px}.contact-direct{flex-direction:column;gap:8px}.footer-brand{width:190px}.footer-bottom{flex-wrap:wrap}.footer-bottom span:first-child{max-width:100%}.footer-links{gap:45px}.legal-page .brand{width:160px}.legal-page .legal-hero{padding-block:64px}.legal-page .legal-layout{padding-top:40px}}
@media(max-width:380px){.brand,.legal-page .brand{width:145px}.hero h1,.essential .hero h1{font-size:45px}.package-card h3{font-size:33px}.site-note span{padding-inline:3px}.filters{gap:20px}.footer-links{gap:26px}.service-price{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
