/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}
}
}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.visible{visibility:visible}
.relative{position:relative}
.start{inset-inline-start:var(--spacing)}
.table{display:table}
.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}
}
:root{--ink:#101010;--paper:#f2f0e9;--white:#fff;--line:#10101038;--light-line:#ffffff3d;--accent:#e1be16;--serif:"Iowan Old Style", "Baskerville", "Times New Roman", serif;--sans:Arial, Helvetica, sans-serif;--page:min(100% - clamp(2rem, 5vw, 6rem), 1600px);--pad-y:clamp(6rem, 11vw, 11rem)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(1rem,.94rem + .2vw,1.16rem);line-height:1.55;overflow-x:clip}
body.menu-is-open{overflow:hidden}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;font:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.skip-link{z-index:1000;background:var(--white);color:var(--ink);padding:.8rem 1rem;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.page-shell{width:var(--page);margin-inline:auto}
.page-grid{width:var(--page);grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,2.25rem);margin-inline:auto;display:grid}
.section-dark{background:var(--ink);color:var(--white)}
.section-paper{background:var(--paper)}
.intro{z-index:999;background:var(--paper);place-items:center;animation:.72s cubic-bezier(.77,0,.18,1) .68s forwards intro-away;display:grid;position:fixed;inset:0;overflow:hidden}
.intro-mark{letter-spacing:.24em;text-align:center;gap:1rem;min-width:min(23rem,72vw);font-size:.76rem;display:grid}
.intro-mark span{animation:.65s both intro-text}
.intro-mark i{background:var(--ink);transform-origin:0;height:1px;animation:.76s cubic-bezier(.77,0,.18,1) both intro-line;display:block}
@keyframes intro-text{0%{opacity:0;letter-spacing:.42em}
to{opacity:1;letter-spacing:.24em}
}
@keyframes intro-line{0%{transform:scaleX(0)}
to{transform:scaleX(1)}
}
@keyframes intro-away{to{visibility:hidden;transform:translateY(-100%)}
}
.cursor{z-index:998;pointer-events:none;mix-blend-mode:difference;will-change:transform;width:1px;height:1px;display:none;position:fixed;top:0;left:0}
.cursor span{border:1px solid #fff;border-radius:50%;width:2.4rem;height:2.4rem;transition:width .22s,height .22s,background .22s;position:absolute;transform:translate(-50%,-50%)}
body:has(.cursor-grow:hover) .cursor span{background:#ffffff38;width:4.4rem;height:4.4rem}
.scroll-progress{z-index:997;background:var(--accent);transform-origin:0;will-change:transform;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}
.site-header{z-index:90;justify-content:space-between;align-items:center;width:100%;min-height:5.2rem;padding:0 clamp(1rem,3.6vw,4rem);transition:background .26s,min-height .26s,border-color .26s;display:flex;position:fixed;top:0;left:0}
.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f2f0e9e6;border-bottom:1px solid #1010101f;min-height:4.25rem}
.brand{letter-spacing:.13em;white-space:nowrap;align-items:center;gap:.7rem;font-size:.74rem;font-weight:700;display:inline-flex}
.brand img{object-fit:contain;mix-blend-mode:multiply;width:2rem;height:2rem}
.desktop-nav{letter-spacing:.04em;align-items:center;gap:clamp(1rem,2.2vw,2.6rem);font-size:.76rem;font-weight:700;display:flex}
.nav-link{padding:.7rem 0;position:relative}
.nav-link:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .26s;position:absolute;bottom:.5rem;left:0;transform:scaleX(0)}
.nav-link:hover:after,.nav-link[aria-current=location]:after{transform-origin:0;transform:scaleX(1)}
.nav-cta{border:1px solid var(--ink);align-items:center;gap:.8rem;padding:.78rem 1.05rem;transition:background .22s,color .22s;display:inline-flex}
.nav-cta:hover{background:var(--ink);color:var(--white)}
.menu-toggle,.mobile-nav{display:none}
.hero{background:var(--paper);flex-direction:column;justify-content:flex-end;min-height:100svh;padding-top:8.5rem;display:flex;position:relative;overflow:hidden}
.hero-grid{align-items:end;padding-bottom:clamp(5rem,9vh,8rem)}
.hero-kicker{letter-spacing:.08em;text-transform:uppercase;grid-column:1/13;align-items:center;gap:.7rem;margin-bottom:clamp(1.5rem,3vh,2.8rem);font-size:clamp(.72rem,.68rem + .18vw,.86rem);font-weight:700;animation:.75s 1.05s both fade-up;display:flex}
.status-dot{background:var(--accent);border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 .25rem #e1be162e}
.hero-title{font-family:var(--serif);letter-spacing:-.064em;grid-column:1/10;margin:0;font-size:clamp(4rem,9.15vw,10.5rem);font-weight:400;line-height:.79}
.hero-line{padding:.08em .04em .08em 0;display:block;overflow:hidden}
.hero-line>span{transform-origin:0 100%;animation:.95s cubic-bezier(.16,1,.3,1) both hero-reveal;display:block;transform:translateY(112%)rotate(2deg)}
.hero-line:first-child>span{animation-delay:.7s}
.hero-line:nth-child(2)>span{animation-delay:.82s}
.hero-line:nth-child(3)>span{animation-delay:.94s}
.hero-line-indent{margin-left:clamp(0rem,3.3vw,3.8rem);font-size:.65em;line-height:1.04}
@keyframes hero-reveal{to{transform:translateY(0)rotate(0)}
}
@keyframes fade-up{0%{opacity:0;transform:translateY(1rem)}
to{opacity:1;transform:translateY(0)}
}
.hero-copy{grid-column:10/13;align-self:end;padding-bottom:.4rem;font-size:clamp(.92rem,.83rem + .23vw,1.08rem)}
.hero-copy p{margin:0 0 1.25rem}
.hero-lead{font-size:clamp(1.1rem,1rem + .36vw,1.4rem);font-weight:700;line-height:1.32}
.button-row{flex-wrap:wrap;gap:.8rem 1.3rem;margin-top:2rem;display:flex}
.text-link{border-bottom:1px solid;align-items:center;gap:.6rem;padding-bottom:.3rem;font-size:.82rem;font-weight:700;display:inline-flex}
.text-link span{transition:transform .2s}
.text-link:hover span{transform:translate(.18rem,-.18rem)}
.text-link-muted{opacity:.58}
.hero-foot{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);width:100%;display:grid}
.hero-foot span{border-right:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;padding:1.1rem clamp(1rem,3.6vw,4rem);font-size:.72rem;font-weight:700}
.hero-foot span:last-child{border-right:0}
.scroll-cue{letter-spacing:.14em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;font-size:.65rem;display:flex;position:absolute;bottom:5.6rem;right:clamp(1rem,3.6vw,4rem)}
.scroll-cue i{font-family:var(--serif);font-size:1.2rem;font-style:normal;animation:1.5s ease-in-out infinite scroll-cue}
@keyframes scroll-cue{0%,to{transform:translateY(0)}
50%{transform:translateY(.4rem)}
}
.problem,.transformation,.services,.reviews,.process,.pricing,.about{padding-block:var(--pad-y)}
.problem-intro,.transformation-head,.services-head,.reviews-head,.pricing-head{align-items:end;margin-bottom:clamp(5rem,10vw,9rem)}
.problem-intro>div,.transformation-head>div,.services-head>div,.reviews-head>div,.pricing-head>div{grid-column:1/9}
.problem-intro>.section-copy,.transformation-head>.section-copy,.pricing-head>.section-copy{grid-column:9/13}
.eyebrow{letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.35rem;font-size:.7rem;font-weight:700}
.eyebrow:before{content:"";vertical-align:middle;background:currentColor;width:2.2rem;height:1px;margin-right:.75rem;display:inline-block}
.eyebrow-light{color:#ffffffa3}
.display-title,.section-title,.contact-title{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-weight:400}
.display-title{font-size:clamp(4.6rem,10.5vw,12rem);line-height:.78}
.display-title span{display:block}
.outline-word{color:#0000;-webkit-text-stroke:1px #ffffffb8}
.section-title{font-size:clamp(3.6rem,7.2vw,8.5rem);line-height:.88}
.light{color:var(--white)}
.section-copy{max-width:35rem;margin:0;font-size:clamp(1.05rem,.95rem + .3vw,1.28rem)}
.light-copy{color:#ffffffb3}
.problem-list,.service-list,.offer-list{border-top:1px solid var(--light-line)}
.problem-item{border-bottom:1px solid var(--light-line)}
.problem-row{cursor:pointer;grid-template-columns:.6fr 3.3fr 4.8fr .4fr;align-items:center;gap:2rem;min-height:clamp(8rem,12vw,12.5rem);padding:0;transition:padding .32s,background-color .25s;display:grid;list-style:none}
.problem-row::-webkit-details-marker{display:none}
.problem-row small,.service-row small,.offer-row small{color:#ffffff7a;letter-spacing:.12em;font-size:.7rem}
.problem-name{font-family:var(--serif);letter-spacing:-.04em;font-size:clamp(2.6rem,5vw,6rem);font-weight:400;line-height:.9}
.problem-summary{color:#ffffffa3;max-width:38rem}
.problem-toggle{border:1px solid #ffffffb3;border-radius:50%;place-items:center;justify-self:end;width:2.75rem;height:2.75rem;display:grid}
.problem-toggle:before{content:"+";font-family:var(--sans);font-size:1.45rem;font-weight:400;line-height:1}
.problem-item[open] .problem-toggle:before{content:"−"}
.problem-row:hover{padding-inline:1.1rem}
.problem-row:focus-visible{outline:2px solid var(--white);outline-offset:4px}
.problem-detail{grid-template-columns:.6fr 3.3fr 4.8fr .4fr;gap:2rem;padding:0 0 clamp(2.5rem,5vw,4.5rem);display:grid}
.problem-detail-inner{grid-column:3/4;max-width:46rem}
.problem-detail p{color:#ffffffe0;margin:0 0 1.25rem;font-size:clamp(1rem,.95rem + .2vw,1.15rem);line-height:1.65}
.problem-detail ul{margin:0;padding:0;list-style:none}
.problem-detail li{color:#ffffffb8;border-top:1px solid var(--light-line);padding:.75rem 0 .75rem 1.5rem;position:relative}
.problem-detail li:last-child{border-bottom:1px solid var(--light-line)}
.problem-detail li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}
.benefit-list{border-top:1px solid var(--line)}
.benefit-row{border-bottom:1px solid var(--line);grid-template-columns:.55fr .5fr 3fr 4.5fr;align-items:center;gap:2rem;min-height:clamp(9rem,14vw,14rem);display:grid;position:relative;overflow:hidden}
.benefit-row:before{content:"";z-index:0;background:var(--ink);transform-origin:bottom;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}
.benefit-row>*{z-index:1;transition:color .32s;position:relative}
.benefit-row:hover:before{transform:scaleY(1)}
.benefit-row:hover>*{color:var(--white)}
.benefit-check{border:1px solid;border-radius:50%;place-items:center;width:clamp(2.4rem,4vw,4.3rem);height:clamp(2.4rem,4vw,4.3rem);font-size:clamp(1rem,1.5vw,1.6rem);display:grid}
.benefit-row small{letter-spacing:.12em;opacity:.55;font-size:.7rem}
.benefit-row h3{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,6.4vw,7.2rem);font-weight:400}
.benefit-row p{max-width:36rem;margin:0}
.marquee{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--accent);color:var(--ink);white-space:nowrap;overflow:hidden}
.marquee-track{align-items:center;gap:2.1rem;width:max-content;padding:1.25rem 0;animation:24s linear infinite marquee;display:flex}
.marquee span{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(2.1rem,4vw,4.7rem)}
.marquee i{font-style:normal}
@keyframes marquee{to{transform:translate(-50%)}
}
.services{background:var(--white)}
.services-head>div:first-child{grid-column:1/9}
.service-principle{max-width:49rem;margin:2.4rem 0 0;font-size:clamp(1.05rem,.95rem + .35vw,1.35rem);font-weight:700}
.service-note{font-family:var(--serif);text-align:right;flex-direction:column;grid-column:10/13;align-self:center;font-size:clamp(1.8rem,3vw,3.4rem);font-style:italic;line-height:.93;display:flex;transform:rotate(-5deg)}
.service-list{border-color:var(--line)}
.service-item{border-bottom:1px solid var(--line)}
.service-row{cursor:pointer;grid-template-columns:.55fr 3fr 5fr .4fr;align-items:center;gap:2rem;min-height:clamp(8.5rem,12vw,12rem);padding:0;transition:padding .32s,background-color .25s;display:grid;position:relative;list-style:none}
.service-row::-webkit-details-marker{display:none}
.service-row small{color:#10101080}
.service-name{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(2.7rem,5vw,5.8rem);font-weight:400}
.service-summary{color:#101010b3;max-width:40rem;margin:0}
.row-toggle{border:1px solid var(--ink);border-radius:50%;place-items:center;justify-self:end;width:2.75rem;height:2.75rem;display:grid}
.row-toggle:before{content:"+";font-family:var(--sans);font-size:1.45rem;font-weight:400;line-height:1}
.service-item[open] .row-toggle:before{content:"−"}
.service-row:hover{padding-inline:1.1rem}
.service-row:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.service-detail{display:grid;grid-template-columns:.55fr 3fr 5fr .4fr;gap:2rem;padding:0 0 clamp(2.5rem,5vw,4.5rem)}
.service-detail-inner{grid-column:3/4;max-width:46rem}
.service-detail p{color:var(--ink);margin:0 0 1.25rem;font-size:clamp(1rem,.95rem + .2vw,1.15rem);line-height:1.65}
.service-detail ul{margin:0;padding:0;list-style:none}
.service-detail li{border-top:1px solid var(--line);padding:.75rem 0 .75rem 1.5rem;position:relative}
.service-detail li:last-child{border-bottom:1px solid var(--line)}
.service-detail li:before{content:"✓";font-weight:700;position:absolute;left:0}
.reviews{background:var(--accent);color:var(--ink)}
.reviews-head{margin-bottom:clamp(3rem,6vw,5rem)}
.reviews-head>div{grid-column:1/9}
.review-intro{color:#101010b3;max-width:42rem;margin:1.6rem 0 0;font-size:clamp(1.05rem,.98rem + .3vw,1.3rem);font-weight:700;line-height:1.5}
.review-link{border-bottom:1px solid var(--ink);grid-column:9/13;justify-self:end;gap:.7rem;padding-bottom:.35rem;font-size:.8rem;font-weight:700;display:inline-flex}
.review-grid{background:var(--ink);border:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}
.review{background:var(--accent);color:var(--ink);min-width:0;margin:0;padding:clamp(2rem,5vw,5.5rem)}
.review-meta{color:#101010a3;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-bottom:clamp(2rem,5vw,5rem);font-size:.7rem;font-weight:700;display:flex}
.review blockquote{color:var(--ink);font-family:var(--sans);letter-spacing:0;margin:0;font-size:clamp(1rem,.95rem + .22vw,1.2rem);font-weight:400;line-height:1.65;overflow-wrap:break-word;hyphens:auto}
.reviews a:focus-visible{outline-color:var(--ink)}
.process-layout{align-items:start}
.process-sticky{grid-column:1/7;position:sticky;top:8rem}
.process-sticky .section-copy{max-width:35rem;margin-top:2rem}
.process-list{border-top:1px solid var(--line);grid-column:8/13;margin:0;padding:0;list-style:none}
.process-list li{border-bottom:1px solid var(--line);grid-template-columns:.7fr 4fr;gap:1.5rem;padding:clamp(2.5rem,5vw,5rem) 0;display:grid}
.process-list li>span{letter-spacing:.12em;font-size:.72rem;font-weight:700}
.process-list h3{font-family:var(--serif);letter-spacing:-.05em;margin:0 0 1.1rem;font-size:clamp(2.6rem,4.6vw,5.4rem);font-weight:400;line-height:.9}
.process-list p{color:#101010ad;margin:0}
.offer-row{border-bottom:1px solid var(--light-line);grid-template-columns:.5fr 2.4fr 4fr 1.8fr;align-items:center;gap:2rem;min-height:clamp(8rem,11vw,11rem);display:grid}
.offer-row h3{font-family:var(--serif);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,3.5vw,4.1rem);font-weight:400}
.offer-row p{color:#ffffff9c;max-width:38rem;margin:0}
.offer-row strong{white-space:nowrap;justify-self:end;font-size:clamp(1rem,1.5vw,1.4rem)}
.pricing-note{color:#ffffff80;margin-top:2rem;font-size:.8rem}
.about{background:var(--white)}
.about-layout{align-items:center}
.portrait-wrap{aspect-ratio:4/5;background:#ddd;grid-column:1/7;position:relative;overflow:hidden}
.portrait-wrap img{object-fit:cover;filter:grayscale()contrast(1.05);clip-path:inset(0 100% 0 0);width:100%;height:100%;transition:clip-path 1.1s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1);transform:scale(1.08)}
.portrait-wrap.is-visible img{clip-path:inset(0);transform:scale(1)}
.portrait-stamp{background:var(--accent);letter-spacing:.13em;padding:.8rem 1rem;font-size:.62rem;font-weight:700;position:absolute;bottom:1.5rem;right:1.5rem}
.about-copy{grid-column:8/13}
.about-copy h3{font-family:var(--serif);letter-spacing:-.035em;margin:2.7rem 0 1rem;font-size:clamp(1.9rem,3vw,3.5rem);font-weight:400}
.about-copy>p:not(.eyebrow){color:#101010b3;max-width:41rem;margin:0}
.about-facts{border-top:1px solid var(--line);margin:2.6rem 0 0;padding:0;list-style:none}
.about-facts li{border-bottom:1px solid var(--line);padding:1rem 0;font-size:.85rem;font-weight:700}
.contact{background:var(--ink);min-height:100svh;color:var(--white);place-items:center;padding:clamp(7rem,12vw,12rem) 0 3rem;display:grid;position:relative;overflow:hidden}
.contact:before{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #ffffff1c;border-radius:50%;width:min(72vw,65rem);position:absolute}
.contact-inner{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:1.5rem;display:grid;position:relative}
.contact .eyebrow{text-align:center;grid-column:1/13}
.contact-title{text-align:center;grid-column:1/13;font-size:clamp(4rem,10.5vw,12rem);line-height:.79}
.contact-title span{display:block}
.contact-title span:last-child{font-style:italic}
.contact-orbit{aspect-ratio:1;background:var(--accent);width:clamp(10rem,15vw,13.5rem);color:var(--ink);text-align:center;border-radius:50%;grid-column:6/8;justify-content:center;justify-self:center;align-items:center;gap:.8rem;margin-top:clamp(2.5rem,5vw,5rem);font-size:.82rem;font-weight:700;line-height:1.3;transition:transform .45s cubic-bezier(.16,1,.3,1),background .22s;display:flex}
.contact-orbit:hover{background:var(--white)}
.contact-orbit>span:last-child{font-family:var(--serif);font-size:1.6rem}
.contact-links{border-top:1px solid var(--light-line);border-bottom:1px solid var(--light-line);grid-column:1/13;grid-template-columns:repeat(3,1fr);margin-top:clamp(4rem,8vw,8rem);display:grid}
.contact-links a{border-right:1px solid var(--light-line);flex-direction:column;gap:.35rem;padding:1.4rem 1.2rem;transition:background .22s;display:flex}
.contact-links a:last-child{border-right:0}
.contact-links a:hover{background:#ffffff14}
.contact-links small{color:#ffffff80;letter-spacing:.13em;text-transform:uppercase;font-size:.64rem;font-weight:700}
.contact-links span{font-size:clamp(.86rem,1.2vw,1.1rem)}
.site-footer{background:var(--paper);padding:3.5rem 0 1.5rem}
.footer-top{grid-template-columns:1.2fr 1fr .7fr;align-items:start;gap:2rem;padding-bottom:3rem;display:grid}
.footer-top p{margin:0;font-size:.82rem}
.footer-links{justify-self:end;gap:1.5rem;font-size:.78rem;font-weight:700;display:flex}
.footer-links a{border-bottom:1px solid var(--ink)}
.footer-bottom{border-top:1px solid var(--line);color:#1010108f;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:2rem;padding-top:1.25rem;font-size:.65rem;display:flex}
.motion-ready [data-reveal]{opacity:0;transition:opacity .75s,transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(2.6rem)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.motion-ready .problem-item:nth-child(2),.motion-ready .benefit-row:nth-child(2),.motion-ready .service-item:nth-child(2){transition-delay:80ms}
@media (hover:hover) and (pointer:fine){.cursor{display:block}
}
@media (width<=1120px){.desktop-nav{gap:1rem}
.nav-link{display:none}
.hero-title{grid-column:1/13;font-size:clamp(4.5rem,10vw,8rem)}
.hero-copy{grid-column:8/13;margin-top:3rem}
.scroll-cue{display:none}
.problem-intro>div,.transformation-head>div,.services-head>div:first-child,.reviews-head>div,.pricing-head>div{grid-column:1/8}
.problem-intro>.section-copy,.transformation-head>.section-copy,.pricing-head>.section-copy{grid-column:8/13}
.benefit-row{grid-template-columns:.5fr .4fr 2.4fr 3.6fr}
.service-row,.service-detail{grid-template-columns:.45fr 2.6fr 4fr .35fr}
.offer-row{grid-template-columns:.45fr 2.3fr 3.4fr 1.5fr}
}
@media (width<=820px){:root{--page:min(100% - 2rem, 46rem);--pad-y:clamp(5rem, 18vw, 8rem)}
.site-header{min-height:4.5rem;padding-inline:1rem}
.site-header.is-scrolled{min-height:4.2rem}
.desktop-nav{display:none}
.menu-toggle{z-index:93;border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:3rem;height:3rem;display:grid;position:relative}
.menu-toggle span{background:var(--ink);width:1.1rem;height:1px;transition:transform .26s,top .26s;position:absolute}
.menu-toggle span:first-child{transform:translateY(-.22rem)}
.menu-toggle span:last-child{transform:translateY(.22rem)}
.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}
.mobile-nav{z-index:92;background:var(--accent);opacity:0;visibility:hidden;flex-direction:column;justify-content:center;padding:6rem 1.25rem 2rem;transition:opacity .26s,visibility .26s,transform .55s cubic-bezier(.77,0,.18,1);display:flex;position:fixed;inset:0;transform:translateY(-100%)}
.mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-nav>a:not(.mobile-contact){border-bottom:1px solid #10101047;grid-template-columns:2.6rem 1fr;align-items:center;padding:.55rem 0;display:grid}
.mobile-nav small{font-size:.62rem}
.mobile-nav>a span{font-family:var(--serif);font-size:clamp(2.8rem,11vw,5rem);line-height:1}
.mobile-contact{justify-content:space-between;gap:1rem;margin-top:2rem;font-size:.78rem;font-weight:700;display:flex}
.page-grid{grid-template-columns:1fr;gap:1.5rem}
.page-grid>*{grid-column:1!important}
.hero{min-height:auto;padding-top:8rem}
.hero-grid{padding-bottom:4rem}
.hero-kicker{margin-bottom:1rem}
.hero-title{font-size:clamp(3.7rem,14vw,6.8rem);line-height:.83}
.hero-line-indent{margin-left:0;font-size:.56em;line-height:1.15}
.hero-copy{max-width:35rem;margin-top:2.5rem;padding-bottom:0}
.hero-foot{grid-template-columns:1fr}
.hero-foot span{border-right:0;border-bottom:1px solid var(--line);padding:.85rem 1rem}
.hero-foot span:last-child{border-bottom:0}
.problem-intro,.transformation-head,.services-head,.reviews-head,.pricing-head{margin-bottom:4rem}
.display-title{font-size:clamp(3.9rem,17vw,7rem)}
.section-title{font-size:clamp(3.25rem,14vw,6rem)}
.section-copy{margin-top:1.3rem}
.problem-row,.benefit-row,.service-row,.offer-row{grid-template-columns:2.5rem 1fr;align-items:start;gap:.7rem 1rem;min-height:0;padding:2.2rem 0}
.problem-row small,.benefit-row .benefit-check,.service-row small,.offer-row small{grid-area:1/1/3}
.problem-name,.benefit-row h3,.service-name,.offer-row h3{grid-column:2;margin:0;font-size:clamp(2.5rem,11vw,4.8rem)}
.problem-summary,.benefit-row p,.service-summary,.offer-row p{grid-column:2}
.benefit-row small,.benefit-row:before{display:none}
.problem-row:hover{padding-inline:0}
.problem-row .problem-toggle{grid-area:3/2;align-self:start;justify-self:start;width:2.35rem;height:2.35rem;margin-top:.35rem}
.problem-detail{grid-template-columns:2.5rem 1fr;gap:0 1rem;padding:0 0 2.2rem}
.problem-detail-inner{grid-column:2}
.benefit-row:hover>*{color:inherit}
.benefit-check{width:2.35rem;height:2.35rem}
.service-note{display:none}
.service-row:hover{padding-inline:0}
.service-row{grid-template-columns:minmax(0,1fr);gap:.8rem;padding:1.9rem 0 2.1rem}
.service-row small{grid-area:auto;grid-column:1;margin-bottom:.15rem}
.service-name{grid-column:1;max-width:100%;font-size:clamp(1.9rem,10.8vw,3.8rem);line-height:.92;overflow-wrap:normal;word-break:normal;hyphens:manual}
.service-summary{grid-column:1;max-width:34rem;margin-top:.25rem;line-height:1.5}
.service-row .row-toggle{grid-area:auto;grid-column:1;align-self:start;justify-self:start;width:2.35rem;height:2.35rem;margin-top:.45rem}
.service-detail{grid-template-columns:minmax(0,1fr);gap:0;padding:0 0 2.2rem}
.service-detail-inner{grid-column:1}
.review-link{justify-self:start;margin-top:1rem}
.review-grid{grid-template-columns:1fr}
.review blockquote{overflow-wrap:break-word}
.process-sticky{position:static}
.process-list{margin-top:3rem}
.process-list li{grid-template-columns:2.5rem 1fr}
.offer-row strong{grid-column:2;justify-self:start;margin-top:.5rem}
.portrait-wrap{max-height:78svh}
.about-copy{margin-top:2rem}
.contact{min-height:auto}
.contact-inner{grid-template-columns:1fr}
.contact-inner>*{grid-column:1!important}
.contact-title{font-size:clamp(3.6rem,15vw,7rem)}
.contact-links{grid-template-columns:1fr}
.contact-links a{border-right:0;border-bottom:1px solid var(--light-line);padding:1.1rem 0}
.contact-links a:last-child{border-bottom:0}
.footer-top{grid-template-columns:1fr}
.footer-links{justify-self:start}
}
@media (width<=480px){.brand span{font-size:.67rem}
.hero-title{letter-spacing:-.07em;font-size:clamp(3rem,16vw,4.7rem)}
.hero-line-indent{font-size:.54em}
.hero-kicker{align-items:flex-start;font-size:.64rem}
.button-row{flex-direction:column;align-items:flex-start}
.display-title{font-size:clamp(3.25rem,17.5vw,5.2rem)}
.section-title{font-size:clamp(3rem,15vw,4.7rem)}
.review-meta{flex-direction:column}
.review blockquote{font-size:1rem}
.footer-bottom{flex-direction:column;gap:.5rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
.intro{display:none}
.cursor{display:none!important}
.motion-ready [data-reveal]{opacity:1;transform:none}
.portrait-wrap img{clip-path:none;transform:none}
}
@property --tw-rotate-x{syntax:"*";inherits:false}
@property --tw-rotate-y{syntax:"*";inherits:false}
@property --tw-rotate-z{syntax:"*";inherits:false}
@property --tw-skew-x{syntax:"*";inherits:false}
@property --tw-skew-y{syntax:"*";inherits:false}
/* Mobile navigation: reliable on short screens and devices with safe areas. */
@media (width<=820px){
.site-header{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
.menu-toggle{flex:0 0 3rem}
.mobile-nav{justify-content:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:max(5.75rem,calc(env(safe-area-inset-top) + 5rem));padding-right:max(1.25rem,env(safe-area-inset-right));padding-bottom:max(1.5rem,env(safe-area-inset-bottom));padding-left:max(1.25rem,env(safe-area-inset-left))}
.mobile-nav>a:not(.mobile-contact){flex:0 0 auto;min-height:3.35rem;padding:.45rem 0}
.mobile-nav>a span{font-size:clamp(2rem,min(10vw,6.8dvh),4rem);line-height:.92}
.mobile-contact{flex:0 0 auto;margin-top:1.25rem;padding:.65rem 0}
}
@media (width<=820px) and (height<=620px){
.mobile-nav{padding-top:max(4.9rem,calc(env(safe-area-inset-top) + 4.35rem))}
.mobile-nav>a:not(.mobile-contact){min-height:2.75rem;padding:.28rem 0}
.mobile-nav>a span{font-size:clamp(1.65rem,6.4dvh,2.5rem)}
.mobile-contact{margin-top:.75rem}
}

/* V4: mobile menu is an independent, opaque viewport layer. */
@media (width<=820px){
  .mobile-nav{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    width:100dvw!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:none!important;
    box-sizing:border-box;
    background:#f0cf00!important;
    isolation:isolate;
    contain:layout paint;
    clip-path:none!important;
  }
  .mobile-nav.is-open{display:flex!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .mobile-nav.is-open~*{pointer-events:none}
}
