*{margin:0;padding:0;box-sizing:border-box;}
:root{--iv:#F5F1E8;--iv2:#EDE8DE;--ch:#1C1C1A;--sg:#7B8174;--sg2:#A8AFA3;--st:#D5D0C5;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--iv);color:var(--ch);-webkit-font-smoothing:antialiased;}
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(245,241,232,0.96);border-bottom:.5px solid var(--st);padding:0 3rem;height:58px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(10px);}
.logo{cursor:pointer;color:var(--ch);flex-shrink:0;text-decoration:none;}
.nl{display:flex;gap:2rem;align-items:center;}
.nl a,.nl-link{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ch);text-decoration:none;opacity:.5;transition:opacity .2s;}
.nl a:hover,.nl a.on,.nl-link:hover{opacity:1;}
.ncta{opacity:1!important;border:.5px solid var(--ch)!important;padding:7px 18px!important;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.burger span{width:22px;height:1px;background:var(--ch);display:block;}
.mega-wrap{position:relative;}
.mega-panel{display:none;position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);background:var(--iv);border:.5px solid var(--st);box-shadow:0 8px 40px rgba(0,0,0,.12);padding:2rem;min-width:540px;z-index:300;display:none;grid-template-columns:1fr 1fr;gap:2rem;}
.mega-panel.on{display:grid;}
.mega-col-title{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--sg2);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:.5px solid var(--st);}
.mega-col a{display:block;font-size:12px;font-weight:300;color:var(--ch);text-decoration:none;padding:.35rem 0;opacity:.7;transition:opacity .2s;}
.mega-col a:hover{opacity:1;}
.mega-col a.all{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sg);margin-top:.8rem;border-top:.5px solid var(--st);padding-top:.8rem;opacity:1;}
.mob-menu{display:none;position:fixed;inset:0;background:var(--iv);z-index:150;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;}
.mob-menu.on{display:flex;}
.mob-menu a{font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--ch);text-decoration:none;opacity:.6;}
.mob-menu a:hover{opacity:1;}
.mob-services{display:flex;flex-direction:column;align-items:center;gap:.8rem;}
.mob-services-toggle{font-family:inherit;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--ch);background:none;border:none;cursor:pointer;opacity:.6;}
.mob-services-toggle:hover,.mob-services.on .mob-services-toggle{opacity:1;}
.mob-services-panel{display:none;flex-direction:column;align-items:center;gap:.7rem;padding-top:.4rem;}
.mob-services.on .mob-services-panel{display:flex;}
.mob-services-panel a{font-size:13px;letter-spacing:.12em;opacity:.55;}
.mob-close{position:absolute;top:1.5rem;right:2rem;font-size:28px;background:none;border:none;cursor:pointer;color:var(--ch);line-height:1;}
.pt{padding-top:58px;}
.lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sg);}
.serif{font-family:'Fraunces',serif;font-weight:300;font-style:italic;color:var(--ch);}
.divl{height:.5px;background:var(--st);margin:0 3rem;}
.btn{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--ch);border:.5px solid var(--ch);padding:12px 26px;text-decoration:none;cursor:pointer;background:transparent;transition:all .2s;}
.btn:hover{background:var(--ch);color:var(--iv);}
.btn-w{border-color:rgba(255,255,255,.5)!important;color:#fff!important;}
.btn-w:hover{background:#fff!important;color:var(--ch)!important;}
.sec{padding:5rem 3rem;}
.shdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;}
.stitle{font-size:34px;line-height:1.15;margin-top:.5rem;}
.tl{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ch);text-decoration:none;border-bottom:.5px solid var(--ch);}
.hero{position:relative;height:100vh;overflow:hidden;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;}
.slide.on{opacity:1;}
.slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(20,20,18,.7) 0%,rgba(20,20,18,.35) 55%,rgba(20,20,18,.1) 100%);}
.hero-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:0 5rem;max-width:720px;}
.hero-brand{font-family:'Fraunces',serif;font-weight:300;font-style:italic;font-size:clamp(1.1rem,2vw,1.35rem);letter-spacing:.08em;color:rgba(255,255,255,.92);margin-bottom:1.4rem;}
.hero-lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:1.4rem;}
.hero-h1{font-family:'Fraunces',serif;font-size:58px;font-weight:300;font-style:italic;color:#fff;line-height:1.05;margin-bottom:1.4rem;}
.hero-sub{font-size:14px;font-weight:300;color:rgba(255,255,255,.8);line-height:1.75;max-width:440px;margin-bottom:2.5rem;}
.hero-btns{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;margin-bottom:0;}
.btn-hero{font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#fff;border:.5px solid rgba(255,255,255,.6);padding:13px 30px;text-decoration:none;transition:all .2s;}
.btn-hero:hover{background:#fff;color:var(--ch);border-color:#fff;}
.btn-hero-g{border:none!important;color:rgba(255,255,255,.75)!important;padding:0 0 2px!important;border-bottom:.5px solid rgba(255,255,255,.4)!important;background:transparent!important;}
.hero-dots{position:absolute;bottom:2.5rem;left:5rem;z-index:3;display:flex;gap:.7rem;}
.dot{width:28px;height:2px;background:rgba(255,255,255,.3);cursor:pointer;border:none;padding:0;transition:background .3s;}
.dot.on{background:#fff;}

/* Homepage featured work — editorial */
.hw-sec{padding-top:4.5rem;padding-bottom:4.5rem;}
.hw-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1rem;min-height:620px;}
.hw-grid.is-single{grid-template-columns:1fr;}
.hw-grid.is-single .hw-lead{min-height:520px;}
.hw-lead,.hw-card{display:block;text-decoration:none;color:inherit;position:relative;overflow:hidden;background:var(--iv2);}
.hw-lead{min-height:620px;}
.hw-side{display:flex;flex-direction:column;gap:1rem;}
.hw-card{flex:1;min-height:0;}
.hw-media{position:absolute;inset:0;}
.hw-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.hw-lead:hover .hw-media img,.hw-card:hover .hw-media img{transform:scale(1.06);}
.hw-copy{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1.5rem 1.5rem;background:linear-gradient(to top,rgba(20,20,18,.72),rgba(20,20,18,0));z-index:1;}
.hw-cat{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:.4rem;}
.hw-title{font-family:'Fraunces',serif;font-weight:300;font-style:italic;font-size:clamp(1.3rem,2vw,1.9rem);color:#fff;margin:0;line-height:1.15;}
.hw-link{display:inline-block;margin-top:.85rem;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.hw-card .hw-title{font-size:1.25rem;}
.page-hero{padding:6rem 3rem 4rem;border-bottom:.5px solid var(--st);}
.page-hero h1{font-family:'Fraunces',serif;font-size:clamp(34px,5vw,54px);font-weight:300;font-style:italic;line-height:1.1;margin:.8rem 0 1rem;}
.page-hero .sub{font-size:15px;font-weight:300;color:var(--sg);line-height:1.75;max-width:560px;}
.breadcrumb{padding:.7rem 3rem;border-bottom:.5px solid var(--st);font-size:11px;color:var(--sg);display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.breadcrumb a{color:var(--sg);text-decoration:none;} .breadcrumb a:hover{color:var(--ch);}
.breadcrumb span{opacity:.4;}
.wg3{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.card{position:relative;overflow:hidden;cursor:pointer;}
.card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;}
.card:hover img{transform:scale(1.04);}
.card-sq{height:380px;}
.ci{position:absolute;bottom:0;left:0;right:0;padding:1.2rem;background:linear-gradient(transparent,rgba(20,20,18,.6));}
.cn{font-size:13px;font-weight:500;color:#fff;display:block;}
.ct{font-size:9px;color:rgba(255,255,255,.65);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;display:block;}
.svs{display:grid;grid-template-columns:repeat(4,1fr);border-top:.5px solid var(--st);border-bottom:.5px solid var(--st);}
.sv{padding:2rem 1.8rem;border-right:.5px solid var(--st);}
.sv:last-child{border-right:none;}
.svn{font-size:22px;color:var(--st);margin-bottom:1rem;}
.svt{font-size:14px;font-weight:500;color:var(--ch);margin-bottom:.5rem;}
.svd{font-size:12px;font-weight:300;color:var(--sg);line-height:1.65;}
.sv a{text-decoration:none;color:inherit;}
.who{display:grid;grid-template-columns:420px 1fr;}
.who-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;min-height:500px;}
.who-content{padding:4.5rem;background:var(--iv2);border-left:.5px solid var(--st);display:flex;flex-direction:column;justify-content:center;}
.who-eye{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sg);margin-bottom:1.5rem;}
.who-name{font-family:'Fraunces',serif;font-size:36px;font-weight:300;font-style:italic;color:var(--ch);margin-bottom:.4rem;}
.who-title{font-size:13px;font-weight:400;color:var(--sg);margin-bottom:2rem;letter-spacing:.04em;}
.who-stats{display:flex;gap:3rem;margin-bottom:2rem;padding:1.5rem 0;border-top:.5px solid var(--st);border-bottom:.5px solid var(--st);}
.stat-num{font-family:'Fraunces',serif;font-size:36px;font-weight:300;font-style:italic;color:var(--ch);display:block;line-height:1;}
.stat-lbl{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--sg2);margin-top:5px;display:block;}
.who-bio{font-size:13px;font-weight:300;color:var(--sg);line-height:1.9;}
.proc-band{background:var(--ch);padding:5rem 3rem;}
.proc-lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sg2);margin-bottom:1rem;}
.proc-h{font-family:'Fraunces',serif;font-size:38px;font-weight:300;font-style:italic;color:#fff;line-height:1.15;margin-bottom:3.5rem;}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:.5px solid rgba(255,255,255,.1);}
.proc-step{padding:2rem 1.5rem 2rem 0;border-right:.5px solid rgba(255,255,255,.08);}
.proc-step:last-child{border-right:none;}
.proc-step-n{font-size:10px;letter-spacing:.14em;color:var(--sg2);margin-bottom:.8rem;}
.proc-step-t{font-size:15px;font-weight:500;color:#fff;margin-bottom:.5rem;}
.proc-step-d{font-size:13px;font-weight:300;color:var(--sg2);line-height:1.7;}
.reviews{background:var(--iv2);padding:5rem 3rem;}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
.rev-card{background:var(--iv);border:.5px solid var(--st);padding:2rem;}
.rev-stars{color:#C9A84C;font-size:16px;margin-bottom:1rem;letter-spacing:2px;}
.rev-text{font-size:13px;font-weight:300;color:var(--ch);line-height:1.75;margin-bottom:1.5rem;font-style:italic;}
.rev-author{font-size:11px;font-weight:500;color:var(--ch);}
.rev-loc{font-size:10px;font-weight:300;color:var(--sg);margin-top:2px;}
.cta-band{padding:6rem 3rem;text-align:center;}
.cta-lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sg);margin-bottom:1.2rem;}
.cta-h{font-family:'Fraunces',serif;font-size:44px;font-weight:300;font-style:italic;color:var(--ch);line-height:1.15;margin-bottom:1rem;}
.cta-s{font-size:13px;font-weight:300;color:var(--sg);margin-bottom:2.5rem;}
.ph2{padding:5rem 3rem 3rem;border-bottom:.5px solid var(--st);}
.ph2 h1{font-family:'Fraunces',serif;font-weight:300;font-style:italic;font-size:54px;margin-top:.5rem;}
.ph2-sub{font-size:14px;font-weight:300;color:var(--sg);line-height:1.75;max-width:480px;margin-top:1rem;}
.fb2{display:flex;gap:2.5rem;padding:1.5rem 3rem;border-bottom:.5px solid var(--st);overflow-x:auto;}
.fb2 button{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sg);background:none;border:none;cursor:pointer;padding:0 0 3px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;white-space:nowrap;}
.fb2 button.on{color:var(--ch);border-bottom-color:var(--ch);}
.fb2 button:hover{color:var(--ch);}

/* Editorial portfolio grid */
.pf-intro{padding-bottom:2.5rem;}
.pf-filters{position:sticky;top:58px;z-index:40;background:rgba(245,241,232,.94);backdrop-filter:blur(10px);}
.pf-shell{padding:0 0 2rem;}
.pf-status{padding:2.5rem 3rem 0;font-size:14px;font-weight:300;color:var(--sg);min-height:1.2em;}
.pf-status.is-error{color:#8b2e2e;}
.pf-status.is-empty{padding-bottom:2rem;}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.25rem;padding:2.2rem 3rem 5rem;}
.pf-grid.is-solo{grid-template-columns:1fr;max-width:720px;margin:0 auto;padding-left:3rem;padding-right:3rem;}
.pf-grid.is-pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:0 auto;}
.pf-item{display:block;text-decoration:none;color:inherit;opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;transition-delay:var(--d,0ms);}
.pf-item.in{opacity:1;transform:none;}
.pf-item.is-feature{grid-column:auto;}
.pf-item.is-solo{grid-column:1 / -1;}
.pf-item.is-skeleton{pointer-events:none;opacity:.4;}
.pf-item.is-skeleton .pf-media{background:var(--iv2);}
.pf-item.is-skeleton .pf-cat,.pf-item.is-skeleton .pf-title{background:var(--iv2);color:transparent;}
.pf-media{position:relative;overflow:hidden;background:var(--iv2);aspect-ratio:5/4;}
.pf-item.is-feature .pf-media,
.pf-item.is-solo .pf-media,
.pf-item.is-pair .pf-media{aspect-ratio:5/4;}
.pf-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform 1s cubic-bezier(.2,.7,.2,1);}
.pf-placeholder{width:100%;height:100%;background:linear-gradient(145deg,var(--iv2),var(--st));}
.pf-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1rem;background:linear-gradient(to top,rgba(20,20,18,.42),transparent 45%);opacity:0;transition:opacity .4s ease;pointer-events:none;}
.pf-view{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;transform:translateY(8px);transition:transform .35s ease;}
.pf-item:hover .pf-media img{transform:scale(1.045);}
.pf-item:hover .pf-overlay{opacity:1;}
.pf-item:hover .pf-view{transform:none;}
.pf-meta{padding:.9rem 0 0;display:flex;flex-direction:column;gap:.3rem;}
.pf-item.is-solo .pf-meta{padding-top:1.1rem;align-items:flex-start;max-width:36rem;}
.pf-cat{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sg);}
.pf-title{font-family:'Fraunces',serif;font-weight:300;font-style:italic;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.25;color:var(--ch);margin:0;}
.pf-item.is-feature .pf-title,
.pf-item.is-solo .pf-title,
.pf-item.is-pair .pf-title{font-size:clamp(1.2rem,1.8vw,1.55rem);}
.pf-item.is-solo .pf-cat{margin-bottom:.15rem;}

/* Project detail — immersive */
.pj-hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;background:var(--ch);overflow:hidden;}
.pj-hero-plain{min-height:auto;background:var(--iv);border-bottom:.5px solid var(--st);padding:5rem 3rem 3rem;}
.pj-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pj-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,18,.72) 0%,rgba(20,20,18,.2) 55%,rgba(20,20,18,.15) 100%);}
.pj-hero-plain::after{display:none;}
.pj-hero-content{position:relative;z-index:1;padding:3rem;width:100%;max-width:980px;margin:0 auto;}
.pj-hero-plain .pj-hero-content{padding:0;max-width:none;margin:0;}
.pj-back{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;margin-bottom:1.4rem;transition:color .2s;}
.pj-back:hover{color:#fff;}
.pj-hero-plain .pj-back{color:var(--sg);}
.pj-hero-plain .pj-back:hover{color:var(--ch);}
.pj-hero-lbl{color:rgba(255,255,255,.65)!important;margin-bottom:.8rem;}
.pj-hero-plain .pj-hero-lbl{color:var(--sg)!important;}
.pj-hero-title{font-family:'Fraunces',serif;font-weight:300;font-style:italic;font-size:clamp(2.2rem,5vw,4rem);line-height:1.08;color:#fff;margin:0;max-width:14ch;}
.pj-hero-plain .pj-hero-title{color:var(--ch);}
.pj-wrap{max-width:920px;margin:0 auto;padding:3.5rem 3rem 5rem;}
.pj-block-title{font-family:'Fraunces',serif;font-weight:300;font-style:italic;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15;margin:2.6rem 0 1rem;color:var(--ch);}
.pj-block-desc{font-size:16px;font-weight:300;line-height:1.9;color:var(--sg);margin:1.1rem 0 1.8rem;white-space:pre-wrap;max-width:38rem;}
.pj-figure{margin:2rem 0;}
.pj-block-img{width:100%;display:block;cursor:zoom-in;}
.pj-gallery{margin:2.4rem 0 3rem;}
.pj-gallery-main{position:relative;background:var(--iv2);overflow:hidden;}
.pj-gallery-main .car-img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;cursor:zoom-in;}
.pj-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:.5px solid rgba(255,255,255,.45);background:rgba(20,20,18,.25);color:#fff;font-size:22px;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s;}
.pj-nav:hover{background:rgba(20,20,18,.5);}
.pj-prev{left:1rem;}
.pj-next{right:1rem;}
.pj-gallery-main .pj-car-count{position:absolute;right:1.1rem;bottom:1rem;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);}
.pj-thumbs{display:flex;gap:.45rem;margin-top:.7rem;overflow-x:auto;padding-bottom:.2rem;}
.pj-thumb{flex:0 0 88px;height:64px;padding:0;border:.5px solid transparent;background:none;cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s;}
.pj-thumb.on,.pj-thumb:hover{opacity:1;border-color:var(--ch);}
.pj-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pj-cta{margin-top:4rem;padding-top:3rem;border-top:.5px solid var(--st);text-align:center;}
.pj-cta-lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sg);margin-bottom:1rem;}
.pj-cta-h{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:1.8rem;}

.folder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:3rem;}
.folder{cursor:pointer;background:var(--iv2);border:.5px solid var(--st);overflow:hidden;transition:box-shadow .2s;}
.folder:hover{box-shadow:0 4px 24px rgba(0,0,0,.1);}
.folder-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.folder-thumb{height:130px;overflow:hidden;}
.folder-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.folder:hover .folder-thumb img{transform:scale(1.05);}
.folder-info{padding:1.2rem 1.2rem 1.4rem;}
.folder-name{font-size:14px;font-weight:500;color:var(--ch);margin-bottom:.3rem;}
.folder-count{font-size:11px;font-weight:300;color:var(--sg);}
.lightbox{display:none;position:fixed;inset:0;background:rgba(20,20,18,.97);z-index:1000;align-items:center;justify-content:center;}
.lightbox.on{display:flex;}
.lb-inner{position:relative;max-width:90vw;max-height:90vh;}
.lb-inner img{max-width:90vw;max-height:85vh;object-fit:contain;display:block;}
.lb-close{position:fixed;top:1.5rem;right:2rem;font-size:28px;color:#fff;cursor:pointer;opacity:.7;background:none;border:none;line-height:1;}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:.5px solid rgba(255,255,255,.3);color:#fff;font-size:22px;cursor:pointer;padding:.8rem 1.1rem;transition:all .2s;}
.lb-prev{left:1.5rem;} .lb-next{right:1.5rem;}
.lb-caption{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);white-space:nowrap;}
.svsh{padding:5rem 3rem 3rem;max-width:580px;}
.sbl{display:grid;grid-template-columns:1fr 1fr;border-top:.5px solid var(--st);}
.sbl.rev{direction:rtl;} .sbl.rev>*{direction:ltr;}
.sbimg{overflow:hidden;max-height:500px;}
.sbimg img{width:100%;height:100%;object-fit:cover;display:block;}
.sbc{padding:4rem 3.5rem;display:flex;flex-direction:column;justify-content:center;}
.sbl.dk .sbc{background:var(--ch);} .sbl.sg .sbc{background:var(--sg);}
.sbn{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sg);margin-bottom:1rem;}
.sbl.dk .sbn,.sbl.sg .sbn{color:rgba(255,255,255,.6);}
.sbt{font-family:'Fraunces',serif;font-size:30px;font-weight:300;font-style:italic;color:var(--ch);margin-bottom:1.2rem;line-height:1.15;}
.sbl.dk .sbt,.sbl.sg .sbt{color:#fff;}
.sbb{font-size:13px;font-weight:300;color:var(--sg);line-height:1.85;margin-bottom:2rem;}
.sbl.dk .sbb,.sbl.sg .sbb{color:rgba(255,255,255,.75);}
.pph{padding:5rem 3rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;border-bottom:.5px solid var(--st);}
.ppi{font-size:14px;font-weight:300;color:var(--sg);line-height:1.85;margin-top:1.5rem;}
.psf{padding:4rem 3rem;}
.fs{display:grid;grid-template-columns:100px 1fr;gap:3rem;padding:3rem 0;border-bottom:.5px solid var(--st);}
.fs:last-child{border-bottom:none;}
.fsn{font-family:'Fraunces',serif;font-size:54px;font-weight:300;font-style:italic;color:var(--st);line-height:1;}
.fst{font-size:17px;font-weight:500;color:var(--ch);margin-bottom:.8rem;}
.fsb{font-size:13px;font-weight:300;color:var(--sg);line-height:1.85;}
.faq{padding:5rem 3rem;background:var(--iv2);}
.faq-item{border-bottom:.5px solid var(--st);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;cursor:pointer;gap:1rem;}
.faq-qt{font-size:15px;font-weight:500;color:var(--ch);}
.faq-icon{font-size:22px;color:var(--sg);font-weight:300;transition:transform .3s;line-height:1;flex-shrink:0;}
.faq-a{font-size:13px;font-weight:300;color:var(--sg);line-height:1.85;padding:0 0 1.5rem;display:none;max-width:680px;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-item.open .faq-a{display:block;}
.map-sec{padding:5rem 3rem;}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem;}
.map-frame{background:#E8E5E0;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;border:.5px solid var(--st);}
.areas-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;}
.area-item{padding:.8rem 0;border-bottom:.5px solid var(--st);font-size:13px;font-weight:300;color:var(--ch);}
.area-item a{color:var(--ch);text-decoration:none;} .area-item a:hover{opacity:.6;}
.so{padding:6rem 3rem;border-bottom:.5px solid var(--st);}
.sot{font-family:'Fraunces',serif;font-size:44px;font-weight:300;font-style:italic;color:var(--ch);line-height:1.15;max-width:720px;}
.sbdy{display:grid;grid-template-columns:1fr 1fr;border-bottom:.5px solid var(--st);}
.simg img{width:100%;height:100%;object-fit:cover;display:block;min-height:500px;}
.stxt{padding:4.5rem 3.5rem;}
.stxt p{font-size:14px;font-weight:300;color:var(--sg);line-height:1.9;margin-bottom:1.5rem;}
.spr{display:grid;grid-template-columns:1fr 1fr;}
.prn{border-right:.5px solid var(--st);border-bottom:.5px solid var(--st);padding:2.5rem;}
.prn:nth-child(2n){border-right:none;}
.prn:nth-last-child(-n+2){border-bottom:none;}
.prl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sg2);margin-bottom:.8rem;}
.prna{font-size:16px;font-weight:500;color:var(--ch);margin-bottom:.5rem;}
.prd{font-size:13px;font-weight:300;color:var(--sg);line-height:1.7;}
.cg{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 58px);}
.cl2{padding:5rem 3rem;border-right:.5px solid var(--st);}
.cr{padding:5rem 3rem;background:var(--iv2);}
.ch2t{font-family:'Fraunces',serif;font-size:40px;font-weight:300;font-style:italic;color:var(--ch);line-height:1.15;margin-bottom:1rem;}
.csu{font-size:13px;font-weight:300;color:var(--sg);line-height:1.8;margin-bottom:3rem;max-width:340px;}
.ftg{display:flex;margin-bottom:2.5rem;border:.5px solid var(--st);}
.ftg button{flex:1;padding:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sg);background:transparent;border:none;cursor:pointer;transition:all .2s;}
.ftg button.on{background:var(--ch);color:#fff;}
.ff{margin-bottom:1.4rem;}
.fl2{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--sg);display:block;margin-bottom:.6rem;}
.fi{width:100%;background:transparent;border:none;border-bottom:.5px solid var(--st);padding:.6rem 0;font-size:13px;font-weight:300;font-family:'Jost',sans-serif;color:var(--ch);outline:none;border-radius:0;-webkit-appearance:none;appearance:none;}
.fi:focus{border-bottom-color:var(--ch);}
select.fi{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%238a8478' stroke-width='1.2' d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .1rem center;padding-right:1.4rem;}
select.fi:invalid,select.fi option[value=""]{color:var(--sg2);}
select.fi option{color:var(--ch);background:#fff;}
.fta{width:100%;background:transparent;border:.5px solid var(--st);padding:1rem;font-size:13px;font-weight:300;font-family:'Jost',sans-serif;color:var(--ch);outline:none;resize:vertical;min-height:120px;margin-top:.5rem;}
.fta:focus{border-color:var(--ch);}
.cii{margin-bottom:2rem;}
.cil{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--sg2);margin-bottom:.5rem;}
.civ{font-size:14px;font-weight:300;color:var(--ch);}
.svc-intro{display:grid;grid-template-columns:1fr 1fr;border-bottom:.5px solid var(--st);}
.svc-intro-img{overflow:hidden;min-height:460px;}
.svc-intro-img img{width:100%;height:100%;object-fit:cover;display:block;}
.svc-intro-text{padding:4.5rem 3.5rem;display:flex;flex-direction:column;justify-content:center;}
.svc-intro-text p{font-size:14px;font-weight:300;color:var(--sg);line-height:1.9;margin-bottom:1.4rem;}
.svc-points{padding:5rem 3rem;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:.5px solid var(--st);}
.svc-point{padding-right:2.5rem;border-right:.5px solid var(--st);}
.svc-point:last-child{border-right:none;padding-right:0;}
.svc-point-n{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sg2);margin-bottom:.8rem;}
.svc-point-t{font-size:15px;font-weight:500;color:var(--ch);margin-bottom:.6rem;}
.svc-point-d{font-size:13px;font-weight:300;color:var(--sg);line-height:1.7;}
.svc-related{padding:4rem 3rem;background:var(--iv2);border-bottom:.5px solid var(--st);}
.svc-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--st);margin-top:2rem;}
.svc-rel-item{background:var(--iv2);padding:1.8rem 2rem;}
.svc-rel-item a{font-size:14px;font-weight:500;color:var(--ch);text-decoration:none;display:block;margin-bottom:.4rem;transition:opacity .2s;}
.svc-rel-item a:hover{opacity:.6;}
.svc-rel-desc{font-size:12px;font-weight:300;color:var(--sg);}
.loc-intro{padding:5rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-bottom:.5px solid var(--st);}
.loc-intro p{font-size:14px;font-weight:300;color:var(--sg);line-height:1.9;margin-bottom:1.2rem;}
.loc-services{padding:5rem 3rem;border-bottom:.5px solid var(--st);}
.loc-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--st);margin-top:2rem;}
.loc-svc-item{background:var(--iv);padding:1.8rem 2rem;}
.loc-svc-item a{font-size:14px;font-weight:500;color:var(--ch);text-decoration:none;display:block;margin-bottom:.4rem;transition:opacity .2s;}
.loc-svc-item a:hover{opacity:.6;}
.loc-svc-desc{font-size:12px;font-weight:300;color:var(--sg);}
.nearby{padding:4rem 3rem;background:var(--iv2);border-bottom:.5px solid var(--st);}
.nearby-grid{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;}
.nearby-link{font-size:12px;font-weight:300;color:var(--ch);text-decoration:none;border:.5px solid var(--st);padding:.7rem 1.2rem;transition:all .2s;background:var(--iv);}
.nearby-link:hover{border-color:var(--ch);}
.nb-areas-hub{padding:5rem 3rem;border-bottom:.5px solid var(--st);}
.nb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--st);margin-top:2rem;}
.nb-item{background:var(--iv);padding:1.5rem 2rem;}
.nb-item a{font-size:13px;font-weight:500;color:var(--ch);text-decoration:none;transition:opacity .2s;}
.nb-item a:hover{opacity:.6;}
.legal-wrap{max-width:720px;margin:0 auto;padding:5rem 3rem;}
.legal-wrap h1{font-family:'Fraunces',serif;font-size:44px;font-weight:300;font-style:italic;margin-bottom:3rem;line-height:1.1;}
.legal-wrap h2{font-size:16px;font-weight:500;color:var(--ch);margin:2.5rem 0 1rem;}
.legal-wrap p,.legal-wrap li{font-size:14px;font-weight:300;color:var(--sg);line-height:1.85;margin-bottom:.8rem;}
.legal-wrap ul{margin-left:1.5rem;margin-bottom:1rem;}
.legal-date{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sg2);margin-bottom:2.5rem;}
.seo-text{padding:3rem;border-top:.5px solid var(--st);}
.seo-text p{font-size:13px;font-weight:300;color:var(--sg);line-height:1.9;max-width:800px;}
footer{background:var(--ch);padding:3.5rem 3rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:1.5rem;}
.flt{font-size:12px;font-weight:300;color:var(--sg2);margin-top:.8rem;line-height:1.7;}
.fct{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--sg2);margin-bottom:1rem;}
.fcl{display:flex;flex-direction:column;gap:.5rem;}
.fcl a{font-size:12px;font-weight:300;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;}
.fcl a:hover{color:#fff;}
.fbot{background:var(--ch);padding:1rem 3rem;border-top:.5px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.fcp{font-size:10px;font-weight:300;color:var(--sg2);}
.fcp a{color:var(--sg2);text-decoration:none;} .fcp a:hover{color:#fff;}
@media(max-width:1100px){
  .pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pf-grid.is-solo{grid-template-columns:1fr;max-width:640px;}
  .pf-grid.is-pair{max-width:780px;}
}
@media(max-width:768px){
  nav{padding:0 1.5rem;} .nl{display:none;} .burger{display:flex;}
  .hero-content{padding:0 1.8rem;max-width:100%;} .hero-h1{font-size:36px;}
  .hero-sub{font-size:13px;max-width:100%;} .hero-dots{left:1.8rem;bottom:2rem;}
  .hw-grid{grid-template-columns:1fr;min-height:0;}
  .hw-lead{min-height:420px;}
  .hw-side{display:grid;grid-template-columns:1fr;gap:1rem;}
  .hw-card{min-height:260px;}
  .slide::after{background:linear-gradient(to bottom,rgba(20,20,18,.4) 0%,rgba(20,20,18,.65) 100%);}
  .sec{padding:3rem 1.5rem;} .divl{margin:0 1.5rem;}
  .shdr{flex-direction:column;gap:1rem;align-items:flex-start;} .stitle{font-size:26px;}
  .wg3{grid-template-columns:1fr;} .card-sq{height:260px;}
  .svs{grid-template-columns:1fr 1fr;} .sv{padding:1.5rem 1.2rem;} .svd{display:none;}
  .who{grid-template-columns:1fr;} .who-img img{min-height:320px;max-height:360px;object-position:top;}
  .who-content{padding:2.5rem 1.5rem;border-left:none;border-top:.5px solid var(--st);}
  .who-name{font-size:28px;} .who-stats{gap:2rem;}
  .proc-band{padding:3.5rem 1.5rem;} .proc-h{font-size:28px;}
  .proc-grid{grid-template-columns:1fr;border-top:none;}
  .proc-step{padding:1.5rem 0;border-right:none;border-top:.5px solid rgba(255,255,255,.1);}
  .reviews{padding:3.5rem 1.5rem;} .rev-grid{grid-template-columns:1fr;gap:1rem;}
  .cta-band{padding:4rem 1.5rem;} .cta-h{font-size:30px;}
  .ph2{padding:3.5rem 1.5rem 2rem;} .ph2 h1{font-size:36px;}
  .fb2{padding:1.2rem 1.5rem;gap:1.5rem;}
  .pf-status{padding:1.8rem 1.5rem 0;}
  .pf-grid,.pf-grid.is-solo,.pf-grid.is-pair{grid-template-columns:1fr;gap:1.6rem;padding:1.8rem 1.5rem 3.5rem;max-width:none;}
  .pf-item,.pf-item.is-feature,.pf-item.is-solo,.pf-item.is-pair{grid-column:auto;}
  .pf-media,.pf-item.is-feature .pf-media,.pf-item.is-solo .pf-media,.pf-item.is-pair .pf-media{aspect-ratio:4/3;}
  .pf-title,.pf-item.is-feature .pf-title,.pf-item.is-solo .pf-title,.pf-item.is-pair .pf-title{font-size:1.25rem;}
  .pj-hero{min-height:58vh;}
  .pj-hero-content,.pj-hero-plain{padding:2.5rem 1.5rem;}
  .pj-wrap{padding:2.5rem 1.5rem 3.5rem;}
  .pj-nav{width:36px;height:36px;font-size:18px;}
  .folder-grid{grid-template-columns:1fr;padding:1.5rem;gap:1rem;} .folder-thumb{height:100px;}
  .svsh{padding:3.5rem 1.5rem 2rem;} .sbl{grid-template-columns:1fr;} .sbl.rev{direction:ltr;}
  .sbimg{max-height:260px;} .sbc{padding:2.5rem 1.5rem;} .sbt{font-size:24px;}
  .pph{grid-template-columns:1fr;gap:2rem;padding:3.5rem 1.5rem 2.5rem;}
  .psf{padding:2.5rem 1.5rem;} .fs{grid-template-columns:60px 1fr;gap:1.5rem;padding:2rem 0;}
  .fsn{font-size:38px;} .fst{font-size:15px;}
  .faq{padding:3.5rem 1.5rem;} .faq-qt{font-size:14px;}
  .map-sec{padding:3.5rem 1.5rem;} .map-grid{grid-template-columns:1fr;gap:2rem;}
  .so{padding:4rem 1.5rem;} .sot{font-size:28px;} .sbdy{grid-template-columns:1fr;}
  .simg img{min-height:280px;} .stxt{padding:2.5rem 1.5rem;}
  .spr{grid-template-columns:1fr;} .prn{border-right:none;}
  .prn:nth-last-child(-n+2){border-bottom:.5px solid var(--st);} .prn:last-child{border-bottom:none;}
  .prn{padding:2rem 1.5rem;}
  .cg{grid-template-columns:1fr;} .cl2{padding:3.5rem 1.5rem;border-right:none;border-bottom:.5px solid var(--st);}
  .cr{padding:3rem 1.5rem;} .ch2t{font-size:30px;}
  footer{grid-template-columns:1fr 1fr;padding:2.5rem 1.5rem;gap:1.5rem;} .fbot{padding:.8rem 1.5rem;}
  .page-hero{padding:4rem 1.5rem 2.5rem;} .page-hero h1{font-size:32px;}
  .breadcrumb{padding:.7rem 1.5rem;}
  .svc-intro{grid-template-columns:1fr;} .svc-intro-img{min-height:260px;}
  .svc-intro-text{padding:2.5rem 1.5rem;} .svc-points{grid-template-columns:1fr;padding:3rem 1.5rem;}
  .svc-point{border-right:none;padding-right:0;margin-bottom:2rem;}
  .svc-related{padding:3rem 1.5rem;} .svc-related-grid{grid-template-columns:1fr;}
  .loc-intro{grid-template-columns:1fr;padding:3.5rem 1.5rem;gap:2rem;}
  .loc-services{padding:3.5rem 1.5rem;} .loc-services-grid{grid-template-columns:1fr;}
  .nearby{padding:3rem 1.5rem;} .nb-grid{grid-template-columns:1fr 1fr;}
  .nb-areas-hub{padding:3.5rem 1.5rem;}
  .legal-wrap{padding:4rem 1.5rem;}
}