:root{--forest:#1f6557;--blue:#096a8d;--teal:#439893;--mint:#92ceae;--lime:#b1db8c;--sage:#d2e5dc;--paper:#f7faf8;--ink:#263331}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:9px clamp(22px,4vw,70px);background:#fff;border-bottom:1px solid rgba(31,101,87,.14)}.brand{width:240px;height:62px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain}.header-right,.site-header nav{display:flex;align-items:center}.header-right{gap:clamp(25px,4vw,60px)}.site-header nav{gap:34px;font:500 .85rem/1 "Manrope"}.site-header nav a{padding:10px 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--forest)}.call{display:grid;gap:3px;border-left:1px solid rgba(31,101,87,.22);padding-left:22px}.call span{font:600 .62rem/1 "Manrope";letter-spacing:.15em;text-transform:uppercase;color:var(--teal)}.call strong{font:600 .88rem/1.2 "Manrope";color:var(--forest)}
.stage{height:calc(100svh - 132px);min-height:660px;position:relative;display:grid;grid-template-columns:46% 54%;grid-template-rows:1fr 235px;background:#f4f8f6;overflow:hidden}.story{grid-column:1;grid-row:1;padding:clamp(46px,6vh,80px) clamp(34px,6vw,96px) 40px;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center}.story:before{content:"";position:absolute;left:0;top:13%;width:8px;height:24%;background:var(--lime)}.kicker{display:flex;align-items:center;gap:13px;margin:0 0 25px;font:600 .66rem/1 "Manrope";letter-spacing:.15em;text-transform:uppercase;color:var(--forest)}.kicker span{background:var(--sage);padding:9px 11px}.kicker b{font-weight:500;color:#72817e}h1{margin:0 0 25px;font:500 clamp(3.7rem,6vw,7.2rem)/.84 "Manrope";letter-spacing:-.075em;color:var(--forest)}h1 em{font-style:normal;color:var(--blue);font-weight:400}.lede{max-width:590px;margin:0 0 27px;font-size:clamp(1rem,1.1vw,1.15rem);line-height:1.65;color:#5a6a66}.signature{display:flex;align-items:center;gap:14px}.signature>span{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font:600 .7rem/1 "Manrope"}.signature p{display:grid;gap:4px;margin:0}.signature strong{font:600 .85rem/1 "Manrope"}.signature small{font-size:.75rem;color:#778581}
.portrait{grid-column:2;grid-row:1/3;position:relative;background:url("dr-rochin-editorial.jpg") 50% 21%/cover no-repeat}.portrait:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,101,87,.12),transparent 35%)}.portrait:after{content:"";position:absolute;right:0;top:0;width:23px;height:38%;background:var(--mint)}.portrait-caption{position:absolute;right:clamp(22px,3.5vw,56px);top:clamp(25px,5vh,58px);margin:0;padding:20px 0 20px 22px;border-left:1px solid rgba(31,101,87,.42);display:grid;gap:10px;color:var(--forest)}.portrait-caption span{font:600 .62rem/1 "Manrope";letter-spacing:.16em;text-transform:uppercase}.portrait-caption strong{font:500 clamp(1rem,1.4vw,1.4rem)/1.3 "Manrope"}
.request{grid-column:1/-1;grid-row:2;z-index:4;align-self:end;margin:0 clamp(22px,3vw,52px) 24px;min-height:187px;background:var(--blue);color:#fff;display:grid;grid-template-columns:minmax(190px,.72fr) 2.6fr;gap:clamp(24px,3vw,50px);padding:29px clamp(24px,3.4vw,54px);box-shadow:0 24px 55px rgba(11,55,69,.24)}.request-intro{border-right:1px solid rgba(255,255,255,.25);padding-right:24px;display:flex;flex-direction:column;justify-content:center}.request-intro p{margin:0 0 9px;font:600 .61rem/1 "Manrope";letter-spacing:.17em;text-transform:uppercase;color:var(--mint)}h2{font:500 clamp(1.45rem,2vw,2.15rem)/1.1 "Manrope";letter-spacing:-.045em;margin:0}.request form{display:grid;grid-template-columns:1.15fr .9fr 1.2fr .9fr .85fr;gap:18px;align-items:center}.request form>label{display:grid;gap:8px}.request form>label span,.request legend{font:600 .62rem/1 "Manrope";letter-spacing:.11em;text-transform:uppercase;color:var(--mint)}.request input{width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.42);border-radius:0;padding:7px 0 10px;outline:0;font:400 .95rem/1.2 "DM Sans"}.request input:focus{border-color:#fff}.request input::placeholder{color:rgba(255,255,255,.62)}fieldset{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:6px}fieldset legend{width:100%;margin-bottom:8px}fieldset label{cursor:pointer}fieldset input{position:absolute;opacity:0}fieldset span{display:block;padding:8px 9px;border:1px solid rgba(255,255,255,.34);font-size:.72rem}fieldset input:checked+span{background:#fff;color:var(--blue)}button{height:52px;border:0;background:var(--lime);color:#194a42;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;font:700 .78rem/1 "Manrope";cursor:pointer;transition:transform .2s,background .2s}button:hover{transform:translateY(-2px);background:#c8e9a6}button b{font-size:1.05rem}.status{grid-column:1/-1;margin:-3px 0 0;font-size:.69rem;color:rgba(255,255,255,.68)}.status.success{color:var(--lime);font-weight:600}
footer{height:50px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,70px);font-size:.72rem;color:#71807c}footer p{margin:0}footer a{font-weight:600;color:var(--forest)}
@media(max-width:1050px){.stage{height:auto;min-height:calc(100svh - 132px);grid-template-columns:48% 52%;grid-template-rows:620px auto}.story{padding:55px 35px}.request{grid-row:2;margin:0;grid-template-columns:1fr;padding:30px}.request-intro{border:0;border-bottom:1px solid rgba(255,255,255,.25);padding:0 0 20px}.request form{grid-template-columns:1fr 1fr 1fr}.portrait{grid-row:1}.status{grid-column:1/-1}}
@media(max-width:720px){.site-header{height:72px;padding:7px 18px}.brand{width:190px;height:54px}.site-header nav{display:none}.call span{display:none}.call{padding-left:16px}.stage{display:flex;flex-direction:column;min-height:auto}.story{min-height:470px;padding:58px 24px 48px}.story h1{font-size:3.8rem}.portrait{min-height:500px;background-position:50% 17%}.portrait-caption{top:auto;bottom:30px;background:rgba(247,250,248,.9);padding:16px 20px;border:0}.request{order:3;display:block;margin:0;padding:32px 24px}.request-intro{margin-bottom:26px}.request form{grid-template-columns:1fr 1fr}.request form>label:nth-of-type(1),.request form>label:nth-of-type(3),button,.status{grid-column:1/-1}footer{height:48px;padding:0 18px}footer p:nth-child(2){display:none}}
@media(max-width:430px){.call strong{font-size:.72rem}.story{min-height:440px}.story h1{font-size:3.25rem}.lede{font-size:.96rem}.portrait{min-height:430px}.request form{grid-template-columns:1fr}.request form>*{grid-column:1!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Version 4: blended editorial hero and expanded appointment band */
.brand{width:285px;height:64px}.brand img{object-fit:contain}.story{grid-column:1/-1;width:57%;background:transparent}.portrait{grid-column:1/-1;grid-row:1/3;background-image:url("dr-rochin-gradient.jpg");background-position:76% 31%;background-size:cover}.portrait:before{background:linear-gradient(90deg,#f4f8f6 0%,rgba(244,248,246,.98) 28%,rgba(244,248,246,.88) 41%,rgba(244,248,246,.45) 55%,rgba(244,248,246,0) 70%)}.portrait-caption{display:none}.request form{grid-template-columns:.95fr .82fr 1.05fr 1.15fr .85fr .88fr}.request textarea{width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.42);border-radius:0;padding:7px 0 10px;outline:0;resize:none;height:34px;font:400 .95rem/1.2 "DM Sans"}.request textarea:focus{border-color:#fff}.request textarea::placeholder{color:rgba(255,255,255,.62)}button{background:var(--forest);color:#fff;border-radius:14px}button:hover{background:#174f44}
@media(max-width:1050px){.story{width:58%}.portrait{grid-row:1;background-position:70% 25%}.request form{grid-template-columns:1fr 1fr 1fr}.message-field{grid-column:1/-1}}
@media(max-width:720px){.brand{width:215px;height:56px}.story{width:100%}.portrait{background-position:50% 18%}.portrait:before{background:linear-gradient(180deg,rgba(244,248,246,.15),rgba(244,248,246,0) 65%)}.message-field{grid-column:1/-1}}
