/* V7 — artist-first modern editorial / no intro */
:root{
  --paper:#f4f1eb;--paper-2:#ebe7df;--ink:#0c0c0d;--muted:#6f6c67;--accent:#6f1822;
  --radius-sm:16px;--radius:26px;--radius-lg:38px;--glass:rgba(247,244,238,.62);
  --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.2,.9,.24,1.08);
}
html{background:var(--paper)}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;background:var(--paper);color:var(--ink);letter-spacing:-.018em}
h1,h2,h3,.hero__title,.section-head h2,.styles-intro h2,.page-hero h1,.booking-step h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-weight:560;letter-spacing:-.055em}
em,.serif-italic{font:inherit;font-style:normal}
.mono,.booking-step__meta{font-family:"SFMono-Regular",ui-monospace,Menlo,monospace;letter-spacing:.10em}
.grain{opacity:.008}.preloader,.hero__panels{display:none!important}

/* glass navigation */
.nav{height:78px;padding:0 max(18px,var(--pad));mix-blend-mode:normal;color:#fff;transition:transform .55s var(--ease),color .35s,background .45s,border-color .45s,backdrop-filter .45s;isolation:isolate}
.nav:before{content:"";position:absolute;inset:10px max(12px,var(--pad));border-radius:22px;background:rgba(15,15,15,.10);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(0px) saturate(120%);-webkit-backdrop-filter:blur(0px);opacity:0;transition:.45s var(--ease);z-index:-1}
.nav.is-scrolled:before{opacity:1;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);background:rgba(20,20,20,.28);box-shadow:0 12px 40px rgba(0,0,0,.10)}
.brand__mark{width:30px}.brand__main{font-size:13px;letter-spacing:.035em}.brand__sub{font-size:7px;margin-top:4px}
.nav__links{gap:28px}.nav__links a{font-size:12px;font-weight:500}
.nav__cta,.glass-button,.booking-cta__button{border:1px solid rgba(255,255,255,.34)!important;background:linear-gradient(180deg,rgba(255,255,255,.21),rgba(255,255,255,.08))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 28px rgba(0,0,0,.10);backdrop-filter:blur(15px) saturate(160%);-webkit-backdrop-filter:blur(15px) saturate(160%);border-radius:999px!important;color:#fff;padding:12px 18px;transition:transform .32s var(--spring),background .32s,border-color .32s}
.nav__cta:hover,.glass-button:hover,.booking-cta__button:hover{transform:translateY(-2px) scale(1.015);background:linear-gradient(180deg,rgba(255,255,255,.29),rgba(255,255,255,.12))!important;border-color:rgba(255,255,255,.55)!important}
.nav__menu{display:none;justify-self:end;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:10px 14px;font-size:11px;backdrop-filter:blur(14px)}

/* immediate hero */
.hero{height:100svh;min-height:680px;background:var(--paper);padding:12px;overflow:hidden}
.hero__media{inset:12px;border-radius:32px;overflow:hidden;background:#161616}
.hero__media:after{background:linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.02) 40%,rgba(0,0,0,.46))}
.hero__media video,.hero__media img{height:108%;transform:scale(1.035);object-position:center 28%;filter:saturate(.96) contrast(1.02) brightness(.88)}
.hero__ink{opacity:.14;filter:blur(75px)}
.hero__eyebrow{margin:88px 18px 0;font-size:9px;opacity:1;transform:none}
.hero__title{margin:auto 18px 0;font-size:clamp(80px,13.8vw,218px);line-height:.79;letter-spacing:-.075em;font-weight:560}
.hero__title-line--right{text-align:left;margin-left:14vw}.hero__title .split-word{transform:none!important;animation:none!important}
.hero__footer{margin:0 18px 20px;opacity:1;transform:none;align-items:center}.hero__footer p{font-size:13px;max-width:390px;color:rgba(255,255,255,.86)}
.hero__actions{display:flex;gap:10px;margin-top:26px}.hero__actions .glass-button{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.02em}

/* spacious typography */
.manifesto{min-height:auto;padding:160px var(--pad);grid-template-columns:.7fr 4fr .7fr}.manifesto__copy{font-size:clamp(36px,5vw,78px);line-height:1.08;letter-spacing:-.048em;max-width:1120px}.manifesto__stamp{border-radius:32px;width:112px;height:112px;transform:rotate(4deg)}
.signature-styles{padding:120px var(--pad)}.styles-intro h2,.section-head h2{line-height:.91;letter-spacing:-.06em}.style-cards{gap:18px}.style-card,.style-card:nth-child(2),.style-card:nth-child(3){border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 50px rgba(23,18,15,.07)}.style-card img{filter:none}.style-card>div{padding:22px}

/* rounded editorial portfolio */
.work{padding-top:150px}.work-grid{gap:9vw 26px}.work-card__media{border-radius:var(--radius-lg);clip-path:none!important;box-shadow:0 18px 55px rgba(29,23,19,.08)}.work-card__media img{filter:none;transform:scale(1.02)}.work-card.is-visible .work-card__media img{transform:scale(1)}.work-card__meta{border-top:0;padding:13px 6px 0;margin-top:0;color:#514f4a}.work-card__meta h3{font-size:17px;color:var(--ink)}
.marquee{border-color:rgba(12,12,13,.10);opacity:.58}
.gallery-scroll{border-radius:42px 42px 0 0;overflow:hidden}.archive-card{border-radius:30px;overflow:hidden}.archive-card img{filter:grayscale(.64) saturate(.66);transition:filter .7s var(--ease),transform .9s var(--ease)}

/* artist / about */
.about{padding-top:150px}.about__giant{opacity:.07}.about__portrait{border-radius:var(--radius-lg)!important;overflow:hidden;box-shadow:0 22px 60px rgba(23,17,14,.10)!important}.about__portrait img{filter:none!important}.about__text h2{font-size:clamp(44px,5.7vw,86px);line-height:1.00}.about__text p{font-size:15px;line-height:1.75;color:#45433f}
.text-link{display:inline-flex;gap:10px;align-items:center;padding:12px 18px;border-radius:999px;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08)}

/* homepage planner accordions */
.plan-teaser{padding:150px var(--pad);background:var(--paper-2)}.plan-teaser__portal{display:block;min-height:0;border:0}.plan-teaser__copy{padding:0;max-width:920px}.plan-teaser__copy h2{font-size:clamp(58px,7.6vw,122px);line-height:.88}.plan-teaser__copy p{font-size:15px;max-width:560px;color:#4c4944}.plan-tools{margin-top:70px;border-top:1px solid rgba(0,0,0,.12)}
.plan-tool{border-bottom:1px solid rgba(0,0,0,.12)}.plan-tool summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:16px;padding:26px 0}.plan-tool summary::-webkit-details-marker{display:none}.plan-tool__num{font:11px "SFMono-Regular",monospace;color:#76716a}.plan-tool summary h3{margin:0;font-size:clamp(25px,3vw,42px);letter-spacing:-.035em;font-weight:530}.plan-tool summary i{font-style:normal;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.46);border:1px solid rgba(0,0,0,.08);transition:transform .45s var(--ease)}.plan-tool[open] summary i{transform:rotate(45deg)}
.plan-tool__body{padding:0 54px 28px 76px;display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:end}.plan-tool__body p{font-size:14px;line-height:1.7;color:#55514c;max-width:590px}.plan-tool__link{justify-self:end;display:inline-flex;padding:12px 16px;border-radius:999px;background:#111;color:#fff;font-size:11px}

/* process as calm expandable rows */
.process{border-radius:42px 42px 0 0;padding-top:130px}.process-row{border-color:rgba(255,255,255,.13)}.process-row__head{padding:28px 0}.process-row__head h3{font-size:clamp(30px,4.5vw,66px)}.process-row__body p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.72)}
.booking-cta{padding-top:150px;padding-bottom:150px}.booking-cta h2{line-height:.90}.booking-cta__button{color:#111!important;border-color:rgba(0,0,0,.10)!important;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.45))!important;box-shadow:inset 0 1px 0 #fff,0 14px 42px rgba(0,0,0,.08)}
.footer{border-radius:42px 42px 0 0}

/* booking = consultation sheet */
.booking{display:grid;place-items:center}.booking__backdrop{background:rgba(8,8,8,.48);backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}
.booking__panel{position:relative!important;inset:auto!important;width:min(920px,calc(100vw - 28px));height:min(760px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);border-radius:34px;background:rgba(246,243,237,.93);border:1px solid rgba(255,255,255,.55);box-shadow:0 40px 110px rgba(0,0,0,.30);padding:0 46px 34px;overflow:auto;transform:translateY(24px) scale(.985);opacity:0;transition:transform .55s var(--ease),opacity .4s var(--ease);backdrop-filter:blur(34px) saturate(130%)}
.booking.is-open .booking__panel{transform:none;opacity:1}.booking__top{top:0;margin:0 -6px;padding:26px 6px 20px;background:linear-gradient(180deg,rgba(246,243,237,.98) 72%,rgba(246,243,237,0));border:0}.booking__progress{height:2px;margin:0 0 18px;border-radius:99px;overflow:hidden;background:rgba(0,0,0,.08)}.booking__progress span{background:var(--accent);transition:width .55s var(--ease)}
.booking-estimate{border:0;background:rgba(255,255,255,.56);border-radius:20px;padding:14px 16px;margin:0 0 22px;grid-template-columns:1fr auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.booking-estimate strong{font-size:20px}.booking-estimate small{font-size:9px}.booking-step{padding:12px 0 0}.booking-step.is-active{animation:v7Step .46s var(--ease) both}@keyframes v7Step{from{opacity:0;transform:translateY(13px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.booking-step h2{font-size:clamp(42px,5vw,68px);line-height:.96;margin:0 0 28px;max-width:720px}.booking-step h2 br{display:none}.booking-step__meta{margin-bottom:16px}.choice-grid{background:transparent;border:0;gap:10px}.choice-grid label span{border:1px solid rgba(0,0,0,.10)!important;border-radius:18px!important;background:rgba(255,255,255,.50);min-height:70px;padding:16px 18px;transition:transform .28s var(--spring),background .28s,border-color .28s;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}.choice-grid label:hover span{transform:translateY(-2px);background:rgba(255,255,255,.80)}.choice-grid input:checked+span{background:#111;color:#fff;border-color:#111!important;transform:scale(.99)}.choice-grid--style b{font:600 18px -apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif}.choice-grid--style small{font-size:11px}.field{margin:12px 0 18px}.field span{font-family:"SFMono-Regular",monospace}.field input,.field textarea,.field select{border-bottom:1px solid rgba(0,0,0,.18);font-size:16px}.field textarea{min-height:130px}.upload{border:1px dashed rgba(0,0,0,.22);border-radius:20px;background:rgba(255,255,255,.34);padding:18px}.booking-sensitivity{border:0;border-radius:18px;background:rgba(255,255,255,.45);padding:15px 16px}.sensitivity-bar{border-radius:999px;overflow:hidden}.step-actions{position:sticky;bottom:-34px;margin:26px -4px 0;padding:26px 4px 28px;border:0;background:linear-gradient(180deg,rgba(246,243,237,0),rgba(246,243,237,.96) 34%)}.step-actions button,.submit-booking{padding:12px 16px;border-radius:999px!important;background:#111;color:#fff;border:0}.prev-step{background:transparent!important;color:#333!important}.booking-summary__item{border-radius:16px;background:rgba(255,255,255,.45);padding:13px}

/* page transitions: quick, no loading */
.page-transition{display:block;position:fixed;inset:0;z-index:9000;background:rgba(244,241,235,.92);backdrop-filter:blur(24px);transform:translateY(102%);transition:transform .48s var(--ease);pointer-events:none}.page-transition img{display:none}.page-transition.is-active{transform:translateY(0)}

/* inner pages */
.page-hero{padding-top:150px}.page-hero h1{line-height:.9}.page-about__grid figure,.mini-grid figure,.works-card figure,.case-hero__media{border-radius:var(--radius-lg);overflow:hidden}.skills span{border-radius:999px}.price-panel,.placement-detail,.utility-card,.assistant-tool,.idea-card{border-radius:26px!important}.tool-action,.text-tool-action,.quiz-result__actions button{border-radius:999px!important}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:800;background:rgba(14,14,14,.84);backdrop-filter:blur(28px) saturate(125%);color:#fff;opacity:0;visibility:hidden;transition:.4s var(--ease);padding:22px}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu__top{display:flex;justify-content:space-between;align-items:center}.mobile-menu__close{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:10px 14px}.mobile-menu nav{display:flex;flex-direction:column;justify-content:center;height:82%;gap:4px}.mobile-menu nav a{font-size:13vw;line-height:.98;font-weight:560;letter-spacing:-.06em;transform:translateY(20px);opacity:0;transition:.55s var(--ease)}.mobile-menu.is-open nav a{transform:none;opacity:1}.mobile-menu.is-open nav a:nth-child(2){transition-delay:.04s}.mobile-menu.is-open nav a:nth-child(3){transition-delay:.08s}.mobile-menu.is-open nav a:nth-child(4){transition-delay:.12s}.mobile-menu.is-open nav a:nth-child(5){transition-delay:.16s}

@media(max-width:900px){
  .nav{height:70px;padding:0 18px;grid-template-columns:1fr auto}.nav:before{inset:8px 10px}.nav__links,.nav__cta{display:none}.nav__menu{display:block}.brand__text{display:none}.brand__mark{width:32px}
  .hero{min-height:100svh;padding:8px}.hero__media{inset:8px;border-radius:26px}.hero__eyebrow{margin:76px 14px 0}.hero__eyebrow span:first-child{max-width:210px;line-height:1.5}.hero__title{margin:auto 14px 0;font-size:clamp(70px,21vw,126px);line-height:.83}.hero__title-line--right{margin-left:0}.hero__footer{margin:0 14px 14px;display:block}.hero__footer p{max-width:300px;margin-bottom:18px}.hero__actions{display:flex;flex-wrap:wrap}.glass-button{padding:11px 14px}
  .manifesto{padding:110px 18px;display:block}.manifesto__index{margin-bottom:36px}.manifesto__copy{font-size:10.4vw}.manifesto__stamp{display:none}
  .signature-styles,.work,.about,.plan-teaser,.process,.booking-cta{padding-left:18px;padding-right:18px}.style-cards{gap:18px}.style-card,.style-card:nth-child(2),.style-card:nth-child(3){width:100%!important;margin:0!important;min-height:66svh;border-radius:28px}.section-head{margin-bottom:58px}.section-head h2{font-size:16vw}.work-grid{display:block}.work-card{margin:0 0 58px!important}.work-card__media{border-radius:28px}.gallery-scroll{border-radius:28px 28px 0 0}.gallery-scroll__track{gap:34px}.archive-card{border-radius:24px}.about__content{gap:42px}.about__portrait{border-radius:30px!important}.about__text h2{font-size:12.6vw}
  .plan-teaser{padding-top:110px;padding-bottom:110px}.plan-teaser__copy h2{font-size:15.5vw}.plan-tools{margin-top:54px}.plan-tool summary{grid-template-columns:42px 1fr auto;padding:22px 0}.plan-tool summary h3{font-size:28px}.plan-tool__body{grid-template-columns:1fr;padding:0 0 24px 58px;gap:14px}.plan-tool__link{justify-self:start}
  .process{border-radius:28px 28px 0 0}.process-row__head h3{font-size:10.5vw}.booking-cta h2{font-size:15vw}.footer{border-radius:28px 28px 0 0}
  .booking__panel{width:100vw;height:100dvh;max-height:none;border-radius:0;padding:0 18px 18px}.booking__top{padding:18px 0 14px}.booking-estimate{margin-bottom:18px}.booking-step h2{font-size:42px;margin-bottom:22px}.choice-grid{grid-template-columns:1fr!important;gap:8px}.choice-grid label span{min-height:58px;border-radius:15px!important}.field-row{grid-template-columns:1fr}.step-actions{bottom:-18px;padding-bottom:18px}.booking-summary{grid-template-columns:1fr 1fr}
  .page-hero{padding:120px 18px 70px}.page-hero h1{font-size:18vw}.planner-hero{padding-left:18px!important;padding-right:18px!important}.planner-section-head{padding-left:18px;padding-right:18px}.placement-planner,.planner-price,.idea-planner,.planner-utilities,.planner-assist{padding-left:18px!important;padding-right:18px!important}.placement-detail,.utility-card,.assistant-tool{border-radius:24px!important}.mobile-actions{display:none!important}
}
@media(max-width:560px){.booking-summary{grid-template-columns:1fr}.hero__eyebrow span:last-child{display:none}.hero__footer p{font-size:12px}.plan-tool__body{padding-left:0}.plan-tool__num{display:none}.plan-tool summary{grid-template-columns:1fr auto}.plan-tool summary h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
.inner-page .nav{color:var(--ink)}.inner-page .brand__mark img{filter:none}.inner-page .nav.is-scrolled:before{background:rgba(247,244,238,.64);border-color:rgba(0,0,0,.08);box-shadow:0 12px 40px rgba(0,0,0,.06)}.inner-page .nav__cta{color:var(--ink)!important;border-color:rgba(0,0,0,.12)!important;background:rgba(255,255,255,.48)!important}.inner-page .nav__menu{color:var(--ink);border-color:rgba(0,0,0,.10);background:rgba(255,255,255,.55)}
/* planner tools as expandable cards */
.plan-page{background:var(--paper)}.plan-page .planner-hero{padding-bottom:90px}.plan-page .tool-section{margin:18px var(--pad);padding:0 clamp(20px,3vw,38px);border-radius:30px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.40);transition:background .35s,box-shadow .35s}.plan-page .tool-section.section-dark,.plan-page .planner-assist{background:#111;color:#fff;border-color:rgba(255,255,255,.10)}.plan-page .tool-section.is-open{box-shadow:0 18px 60px rgba(24,18,14,.06)}.tool-section>.planner-section-head{position:relative;padding:32px 64px 30px 0!important;margin:0!important;border:0!important;cursor:pointer}.tool-section>.planner-section-head h2{font-size:clamp(42px,6vw,88px);margin-bottom:12px}.tool-section>.planner-section-head p{max-width:520px}.tool-section__toggle{position:absolute;right:0;top:32px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.09);font-size:19px;transition:transform .4s var(--ease)}.section-dark .tool-section__toggle,.planner-assist .tool-section__toggle{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.14)}.tool-section.is-open .tool-section__toggle{transform:rotate(45deg)}.tool-section:not(.is-open)>:not(.planner-section-head){display:none}.tool-section.is-open>:not(.planner-section-head){animation:toolOpen .45s var(--ease) both}@keyframes toolOpen{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tool-section.is-open{padding-bottom:34px}.plan-page .placement-detail,.plan-page .price-panel,.plan-page .utility-card,.plan-page .assistant-tool,.plan-page .idea-card{border-radius:24px!important}
@media(max-width:900px){.plan-page .tool-section{margin:12px 10px;padding:0 16px;border-radius:24px}.tool-section>.planner-section-head{padding:24px 52px 22px 0!important}.tool-section>.planner-section-head h2{font-size:12.5vw}.tool-section__toggle{top:24px;width:36px;height:36px}.tool-section.is-open{padding-bottom:20px}}
