/* v0.4: independent editorial direction, preserving the offline prototype. */
body.wine{--accent:#542b36;--paper:#eee9e0;--ink:#252521;--line:#cfc7ba;--gutter:24px;background:var(--paper)}
.prototype-bar{background:#252521;color:#e7e0d5;padding:7px var(--gutter);font-size:10px;letter-spacing:.04em}.prototype-bar button{font-size:10px;color:#e7e0d5}
.wine .hero{background:var(--accent);color:var(--paper);min-height:0;display:block;padding-bottom:0;position:relative;overflow:hidden}.wine .nav{padding:0 var(--gutter);height:76px;border-bottom:1px solid #eee9e02b}.brand{font-size:22px;letter-spacing:.19em}.menu-toggle{font-size:11px;min-height:44px}
.wine .title-panel{padding:27px var(--gutter) 25px;background:none}.wine .title-panel .micro{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#e5d6d5;letter-spacing:.1em;margin-bottom:23px}.wine h1{font-size:clamp(38px,10.5vw,64px);line-height:1.01;letter-spacing:-.035em;font-weight:400;max-width:none}.wine h1 em{font-weight:400}
.wine .photo-panel{grid-template-columns:1fr .43fr;background:none;gap:14px;padding:0 var(--gutter);margin:0;align-items:end}.wine .photo-panel .main-photo{height:clamp(260px,72vw,390px);object-position:50% 28%}.wine .photo-panel .side-photo{height:clamp(164px,43vw,250px);margin-bottom:34px;object-position:50% 38%}.wine .photo-panel .number{font-size:7px;letter-spacing:.08em;right:var(--gutter);bottom:5px;max-width:32%;line-height:1.5}
.wine .bottom{padding:22px var(--gutter) 29px}.wine .copy{font-size:12px;line-height:1.65;margin:0 0 17px;max-width:none}.wine .links{display:flex;justify-content:space-between;align-items:center;gap:16px}.wine .hero .cta{min-width:0;min-height:47px;padding:8px 0;background:transparent;color:var(--paper);border-bottom:1px solid #eee9e099;font-size:12px;gap:24px}.wine .secondary{font-size:10px;text-decoration:none;border-bottom:1px solid #eee9e05e;padding:14px 0}
.micro{font-size:10px;letter-spacing:.13em}.portfolio,.content-section{padding:52px var(--gutter)}.section-heading>.micro{margin-bottom:23px}.section-heading h2,.content-section h2,.portfolio h2{font-size:clamp(37px,10vw,56px);line-height:1.06;letter-spacing:-.03em;margin:0 0 23px;font-weight:400}.section-heading h2 em,.content-section h2 em{font-weight:400}.section-intro{font-size:13px;line-height:1.7;margin-bottom:26px}.portfolio .section-intro{font-size:12px}
.carousel-track.photos{gap:12px;padding-bottom:8px;scroll-padding-left:0}.carousel-track .photo-button{flex-basis:84%}.carousel-track.photos img{height:clamp(355px,102vw,510px);object-position:50% 30%}.carousel-navigation{margin-top:9px;gap:10px}.carousel-navigation button{border:0;border-radius:50%;background:#ded7cd}.carousel-hint{font-size:10px}.carousel-navigation>span:first-child{font-size:10px}
.services{border-top:1px solid var(--line);padding-top:36px}.service-grid{display:block}.service-card{display:grid;grid-template-columns:24px 1fr auto;column-gap:9px;row-gap:9px;padding:22px 0;align-items:baseline;border-top:1px solid var(--line)}.service-card>.micro{grid-column:1;grid-row:1;font-size:9px}.service-card h3{grid-column:2;font:29px/1.1 var(--serif);margin:0}.service-card>p{grid-column:2;grid-row:2;font-size:12px;line-height:1.7;max-width:260px}.service-card .cta{grid-column:3;grid-row:1/3;border:0;color:var(--accent);padding:0;min-height:44px;min-width:44px;justify-content:center;align-self:center;font-size:23px}.service-card .cta span{display:none}.service-card:last-child{border-bottom:1px solid var(--line)}.format-help{border:0;padding:15px 0 0;margin:0;display:flex;justify-content:space-between;align-items:center;gap:18px}.format-help p{font-size:11px;line-height:1.7;max-width:165px}.format-help .text-button{font-size:11px;white-space:nowrap;min-height:44px;text-underline-offset:5px}.prototype-detail{margin-top:12px}.prototype-detail summary{font-size:10px;color:#6d6257;min-height:38px;padding:10px 24px 10px 0;max-width:230px}.prototype-detail summary:after{top:7px}.prototype-detail p{font-size:12px;line-height:1.6;max-width:520px;padding:10px 0}
.about{background:#e1d9cd;border:0}.about>.micro{margin-bottom:25px}.about-grid{display:block}.about .prose{max-width:530px}.about .about-lead{font:26px/1.25 var(--serif);margin:0 0 24px}.about .prose p:not(.about-lead){font-size:12px;line-height:1.8;max-width:400px}.about .prose p+p{margin-top:15px}
.process-details{max-width:none}.process-details summary{font:24px/1.3 var(--serif);padding:22px 29px 22px 0;min-height:73px}.process-details summary span{margin-right:17px}.process-details details p{font-size:13px;padding-left:31px}.process>.text-button{font-size:11px;margin-top:13px;text-underline-offset:5px}
.wine .contact{background:var(--accent);position:relative;padding:48px var(--gutter)}.contact>.micro{color:#e5d6d5;margin-bottom:24px}.contact h2{font-size:clamp(47px,12vw,70px);margin-bottom:23px}.contact .section-intro{font-size:13px;max-width:300px;margin-bottom:24px}.contact .cta{background:transparent!important;color:var(--paper)!important;border:1px solid #eee9e066;max-width:320px;min-height:51px;font-size:12px}.contact .text-button{font-size:11px;min-height:44px;text-underline-offset:4px}.contact .prototype-disclosure{font-size:10px;line-height:1.65;max-width:280px;margin-top:9px;color:#dfd0d2}
.site-footer{padding:36px var(--gutter) 20px;grid-template-columns:1fr auto;gap:28px 18px;background:#252521;color:var(--paper);border:0}.footer-brand{grid-column:1/-1}.footer-brand .brand{font-size:17px}.footer-brand p{font-size:11px;color:#bdb7ae;margin-top:13px}.footer-contacts .micro{font-size:9px;color:#bdb7ae}.footer-contacts .text-button{font-size:12px;min-height:44px;text-underline-offset:5px}.footer-top{color:#bdb7ae;align-self:start}.footer-signature{grid-column:1/-1;font-family:var(--serif);font-size:clamp(24px,10.5vw,180px);font-weight:400;letter-spacing:.08em;line-height:1;padding:22px 0 20px;border-bottom:1px solid #eee9e02b;white-space:nowrap}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;color:#bdb7ae;font-size:8px;line-height:1.6}.text-button{text-underline-offset:4px}
@media(min-width:768px){body.wine{--gutter:5vw}.wine .title-panel{padding-top:35px}.wine h1{font-size:8vw}.wine .photo-panel{max-width:740px;margin-left:auto}.wine .photo-panel .main-photo{height:480px}.wine .photo-panel .side-photo{height:280px}.wine .bottom{display:flex;align-items:center;justify-content:space-between;gap:30px}.wine .copy{margin:0}.wine .links{gap:40px}.portfolio,.content-section{padding-top:65px;padding-bottom:65px}.section-heading{display:grid;grid-template-columns:1fr 2fr;column-gap:40px}.section-heading .micro{grid-column:1;grid-row:1;margin-top:8px}.section-heading h2{grid-column:2;font-size:53px}.section-heading .section-intro{grid-column:2}.carousel-track .photo-button{flex-basis:43%}.carousel-track.photos img{height:500px}.service-card{grid-template-columns:40px 1fr 1fr 44px;gap:20px}.service-card h3{font-size:35px}.service-card>p{grid-column:3;grid-row:1;font-size:13px}.service-card .cta{grid-column:4;grid-row:1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.about .about-lead{font-size:30px}.format-help p{max-width:none}.process-details{margin-left:calc((100% - 40px)/3 + 40px)}.process>.text-button{margin-left:calc((100% - 40px)/3 + 40px)}.contact h2{font-size:80px}.site-footer{grid-template-columns:1fr 1fr auto;padding-top:50px}.footer-brand{grid-column:auto}.footer-bottom{font-size:10px}}
@media(min-width:1024px){.wine .hero{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:88px auto auto;min-height:760px;padding:0 0 37px}.wine .nav{height:88px;grid-column:1/-1}.wine .title-panel{grid-column:1;grid-row:2;padding:56px 0 0 var(--gutter);align-self:start;z-index:1}.wine .title-panel .micro{display:block;margin-bottom:42px;font-size:10px;letter-spacing:.12em}.wine .title-panel .micro span{display:block;margin-top:8px}.wine h1{font-size:clamp(58px,5.5vw,88px);line-height:1.05;white-space:nowrap}.wine .photo-panel{grid-column:2;grid-row:2/4;align-self:start;padding:44px var(--gutter) 0 2vw;gap:18px;margin:0;max-width:none;grid-template-columns:1fr .42fr}.wine .photo-panel .main-photo{height:550px}.wine .photo-panel .side-photo{height:285px;margin-bottom:55px}.wine .photo-panel .number{font-size:8px;bottom:14px;max-width:23%}.wine .bottom{grid-column:1;grid-row:3;display:block;padding:32px var(--gutter) 12px;align-self:end}.wine .copy{font-size:13px;margin-bottom:22px}.wine .links{justify-content:flex-start;gap:34px}.wine .hero .cta{min-width:0}.wine .secondary{font-size:11px}.nav-links{font-size:11px;gap:30px}.section-heading{grid-template-columns:1fr 2fr}.section-heading h2,.content-section h2{font-size:62px}.carousel-track .photo-button{flex-basis:31%}.carousel-track.photos img{height:530px}.carousel-navigation{padding-top:8px}.service-card{padding:26px 0}.service-card h3{font-size:43px}.about .about-lead{font-size:37px}.about .prose p:not(.about-lead){font-size:13px}.process-details summary{font-size:29px}.contact h2{font-size:96px}.contact{display:grid;grid-template-columns:1.3fr 1fr;column-gap:9vw}.contact>.micro{grid-column:1/-1}.contact h2{grid-column:1;grid-row:2/6;margin:0}.contact .section-intro,.contact>.cta,.contact>.text-button,.contact .prototype-disclosure{grid-column:2}.contact>.text-button{width:max-content}.footer-signature{font-size:10.3vw;padding-top:35px;padding-bottom:32px}}
@media(hover:hover){.photo-button img{transition:filter .3s}.photo-button:hover img{filter:brightness(1.06)}.service-card .cta,.carousel-navigation button{transition:background .2s,transform .2s}.service-card .cta:hover{transform:translate(3px,-3px)}.carousel-navigation button:not(:disabled):hover{background:#cfc5b7}.nav-links a:hover,.footer-top:hover{opacity:.7}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* v0.5: one full-bleed photograph selected by the owner. */
.wine .hero.hero-full{isolation:isolate;display:grid;grid-template-columns:1fr;grid-template-rows:76px 1fr auto;min-height:740px;min-height:min(850px,100svh);background:#292925;padding:0;overflow:hidden}
.hero-full>.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 40%;z-index:-2}
.hero-full:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,18,19,.6),transparent 25%,rgba(20,18,19,.1) 42%,rgba(20,18,19,.88) 76%,rgba(20,18,19,.93))}
.wine .hero-full .nav{grid-column:1;grid-row:1;background:transparent}
.wine .hero-full .title-panel{grid-column:1;grid-row:2;align-self:end;padding:240px var(--gutter) 19px;background:none}
.wine .hero-full .title-panel .micro{display:block;margin-bottom:17px;color:#eee9e0;font-size:9px}.wine .hero-full .title-panel .micro span{margin-left:14px}
.wine .hero-full h1{font-size:clamp(37px,10.2vw,61px);line-height:1.05;white-space:normal}
.wine .hero-full .bottom{grid-column:1;grid-row:3;display:block;padding:0 var(--gutter) 27px;background:transparent}
.wine .hero-full .copy{margin:0 0 15px;font-size:12px}.wine .hero-full .links{justify-content:space-between;gap:20px}
@media(min-width:768px){.wine .hero.hero-full{min-height:800px;grid-template-rows:88px 1fr auto}.hero-full>.hero-image{object-position:58% 35%}.hero-full:after{background:linear-gradient(90deg,rgba(20,18,19,.72),rgba(20,18,19,.12) 65%),linear-gradient(0deg,rgba(20,18,19,.65),transparent 32%)}.wine .hero-full .title-panel{align-self:center;padding:60px var(--gutter) 30px}.wine .hero-full h1{font-size:clamp(58px,6.4vw,96px)}.wine .hero-full .title-panel .micro{margin-bottom:34px;font-size:10px}.wine .hero-full .bottom{padding:0 var(--gutter) 48px}.wine .hero-full .links{justify-content:flex-start;gap:35px}.wine .hero-full .copy{font-size:14px;margin-bottom:18px}}
@media(min-width:1024px){.wine .hero.hero-full{height:min(900px,calc(100svh - 28px));min-height:740px}.wine .hero-full .title-panel .micro span{display:inline}.wine .hero-full .nav-links{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:18px;font-weight:400;letter-spacing:.025em;gap:38px}.wine .hero-full .nav-links a{display:flex;align-items:center;min-height:48px;padding:8px 3px}.wine .hero-full .nav{height:88px}.hero-full>.hero-image{object-position:50% 42%}}
/* Legal details stay at the point of submission and in the quiet footer. */
.footer-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 28px;padding:18px 0 8px}.footer-legal a{display:inline-flex;align-items:center;min-height:44px;font:12px/1.5 Arial,sans-serif;color:#d6c9bc;text-decoration:underline;text-underline-offset:5px}.brief-legal{margin:22px 0 6px;padding-top:20px;border-top:1px solid #cdbfaf}.brief-legal .consent-choice{display:flex;gap:12px;align-items:flex-start;min-height:44px;font:14px/1.5 Arial,sans-serif;cursor:pointer}.brief-legal .consent-choice input{appearance:auto;flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:#593440}.brief-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}.brief-legal p{font:12px/1.55 Arial,sans-serif;color:#65574d;margin:8px 0 0 32px}.brief-legal input:focus-visible{outline:2px solid #593440;outline-offset:4px}.brief-legal input[aria-invalid=true]{outline:2px solid #8a2f36;outline-offset:3px}.brief-legal .brief-terms{margin-top:10px}@media(max-width:600px){.footer-legal{gap:0 22px}.brief-legal .consent-choice{font-size:14px}.brief-legal p{margin-left:32px}}
