@font-face{font-family:'Libre Baskerville';src:url('fonts/LibreBaskerville-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url('fonts/LibreBaskerville-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url('fonts/LibreBaskerville-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url('fonts/LibreBaskerville-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{--cream:#F9F8F1;--beige:#E5E4DC;--ink:#1D1D1B;--olive:#7C7C65;--icon:#D1CBB0;--rule:#D1CBB0;--max:1450px;--serif:'Libre Baskerville',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}.site-header{min-height:120px;padding:19px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--cream);position:relative;z-index:5}.brand img{width:330px}.header-actions{display:flex;align-items:center;gap:22px}.language-switch{display:flex;align-items:center;border:1px solid rgba(124,124,101,.32);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.42)}.lang-btn{border:0;background:transparent;color:var(--olive);padding:6px 11px;font:400 12px/1 var(--serif);cursor:pointer}.lang-btn.is-active{background:var(--olive);color:#fff}.phone-cta{min-height:42px;padding:7px 17px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.78);text-decoration:none;font-size:14px;white-space:nowrap}.phone-cta img{width:23px;height:23px;object-fit:contain}.decorative-rule{display:block;height:2px;background:var(--rule)}.section-shell{width:min(var(--max),calc(100% - 72px));margin-inline:auto}
.hero{position:relative;aspect-ratio:3502/2189;overflow:hidden;background:var(--cream)}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{position:absolute;z-index:2;left:max(7.8vw,40px);top:14.2%;width:min(860px,49%)}.eyebrow{margin:0;font-size:25px;line-height:1.24}.hero-rule{width:85px;margin:27px 0 43px}h1{margin:0;font-size:56px;line-height:1.13;font-weight:600;letter-spacing:-.025em}h1 span{display:inline-block;margin-top:9px;font-size:.52em;line-height:1.42;font-weight:400;letter-spacing:-.01em;max-width:770px}
.about{padding:175px 0;display:grid;grid-template-columns:620px 1fr;gap:110px;align-items:center;background:var(--cream)}.about-media img{width:620px;aspect-ratio:1/1;object-fit:cover}.about-rule{width:84px;margin-bottom:42px}.about-copy h2{margin:0 0 48px;font-size:42px;line-height:1.17;letter-spacing:-.02em;font-weight:600;max-width:760px}.body-copy{font-size:16px;line-height:1.64;max-width:760px}.body-copy p{margin:0 0 22px}
.process{background:var(--beige);padding:82px 0 90px}.process-grid{display:grid;grid-template-columns:440px 1fr;gap:100px;align-items:start}.process-intro{position:sticky;top:45px;min-height:420px;padding-top:12px}.process-title,.section-kicker,.contact-title{margin:0;color:var(--ink);font-size:24px;letter-spacing:.25em;font-weight:400}.process-rule{width:94px;margin:34px 0 18px}.process-leaf{width:220px;margin:28px 0 0 65px}.steps{display:grid;gap:58px}.step{display:grid;grid-template-columns:66px 1fr;gap:28px;align-items:start}.step-icon{width:62px;height:62px;object-fit:cover;border-radius:50%}.step h3{margin:0 0 14px;color:var(--olive);font-size:32px;line-height:1.15;font-weight:400;letter-spacing:-.015em}.step p{margin:0 0 11px;font-size:15px;line-height:1.56;max-width:820px}
.editorial{background:var(--cream);padding:132px 0}.editorial-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:125px;align-items:start}.section-kicker{font-size:18px;line-height:1.55;letter-spacing:.19em}.editorial-rule,.reference-rule{width:84px;margin:30px 0 38px}.editorial-heading h2,.reference h2{margin:0;font-size:42px;line-height:1.18;font-weight:600;letter-spacing:-.02em}.editorial-copy{padding-top:73px;font-size:16px;line-height:1.68}.editorial-copy p{margin:0 0 26px}
.reference{background:var(--cream);padding:125px 0}.reference-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:center}.reference-copy{max-width:860px}.reference-copy>p:not(.section-kicker):not(.reference-emphasis){font-size:16px;line-height:1.68;margin:28px 0 0}.reference-emphasis{font-size:27px;line-height:1.38;font-style:italic;margin:40px 0 0;color:var(--olive)}.reference-decoration{display:flex;justify-content:center;align-items:center}.reference-decoration img{width:330px;opacity:.92;transform:rotate(-8deg)}
.venue{position:relative;aspect-ratio:3506/1170;overflow:hidden}.venue-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.quote-card-custom{position:absolute;left:max(6.8vw,38px);top:50%;transform:translateY(-50%);width:440px;min-height:300px;padding:45px 52px 34px;background:rgba(255,255,255,.96);display:flex;flex-direction:column;justify-content:center}.quote-rule{width:64px;margin-bottom:26px}.quote-card-custom p{margin:0;font-size:23px;line-height:1.42;font-style:italic}.quote-card-custom small{display:block;margin-top:22px;font-size:12px;line-height:1.55;color:var(--olive)}.quote-card-custom img{width:82px;margin:24px 0 0 auto}
.contact{padding:110px 0 82px;display:grid;grid-template-columns:720px 1fr;gap:105px;align-items:center;background:var(--cream)}.contact-brand{display:flex;align-items:center;justify-content:center;gap:70px}.footer-logo{width:390px}.footer-leaf{width:180px}.contact-copy{max-width:630px}.contact-title{font-size:23px}.contact-rule{width:94px;margin:32px 0}.contact-intro{margin:0 0 17px;font-size:18px;line-height:1.55}.contact-body{margin:0 0 18px;font-size:14px;line-height:1.62}.contact-closing{margin:0 0 31px;font-size:16px;line-height:1.55;font-style:italic;color:var(--olive)}.contact-links{display:grid;gap:16px;margin-bottom:27px}.contact-links a{display:inline-flex;align-items:center;gap:18px;width:fit-content;text-decoration:none;font-size:16px}.contact-links img{width:32px;max-height:30px;object-fit:contain}.manual-cta{width:360px;max-width:100%;min-height:78px;padding:12px 25px;display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#9a9a78;border:2px solid #d9d5bd;outline:1px dashed rgba(255,255,255,.85);outline-offset:-7px;color:#fff;text-decoration:none}.manual-icon{font-size:32px;font-weight:400}.manual-text{font-size:18px;line-height:1.12;letter-spacing:.17em;text-align:left}.site-footer{text-align:center;padding:0 20px 40px;color:rgba(29,29,27,.55);font-size:11px;line-height:1.55;background:var(--cream)}.site-footer p{margin:2px 0}.site-footer a{text-underline-offset:2px}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition-duration:.01ms!important}}
@media(max-width:1300px){:root{--max:1120px}.site-header{min-height:96px;padding:16px 5.5vw}.brand img{width:245px}.hero-copy{left:6%;top:13.5%;width:51%}.eyebrow{font-size:19px}.hero-rule{width:68px;margin:20px 0 31px}h1{font-size:clamp(40px,4vw,53px)}.about{padding:115px 0;grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr);gap:75px}.about-media img{width:100%}.about-copy h2{font-size:35px;margin-bottom:34px}.body-copy{font-size:14px}.process-grid{grid-template-columns:330px 1fr;gap:70px}.process-title{font-size:20px}.process-leaf{width:175px;margin-left:45px}.step h3{font-size:27px}.step p{font-size:13px}.editorial,.reference{padding:95px 0}.editorial-grid{gap:85px}.editorial-heading h2,.reference h2{font-size:35px}.editorial-copy{padding-top:64px;font-size:14px}.reference-copy>p:not(.section-kicker):not(.reference-emphasis){font-size:14px}.reference-decoration img{width:270px}.quote-card-custom{width:355px;padding:35px 40px}.quote-card-custom p{font-size:19px}.contact{padding:88px 0 68px;grid-template-columns:1.05fr .95fr;gap:70px}.footer-logo{width:315px}.footer-leaf{width:145px}.contact-title{font-size:20px}.contact-intro{font-size:16px}.contact-body{font-size:13px}.manual-cta{width:320px}}
@media(max-width:880px){.site-header{min-height:80px;padding:14px 20px}.brand img{width:185px}.header-actions{gap:8px}.phone-cta{padding:7px 10px}.phone-cta span{display:none}.phone-cta img{width:24px;height:24px}.hero{aspect-ratio:auto;min-height:610px}.hero-photo{object-position:64% center}.hero-copy{left:27px;top:13%;width:68%}.eyebrow{font-size:16px}.hero-rule{width:55px;margin:17px 0 26px}h1{font-size:clamp(34px,6.3vw,47px)}h1 span{font-size:.49em}.section-shell{width:min(100% - 44px,var(--max))}.about{grid-template-columns:1fr;gap:45px;padding:72px 0}.about-media{width:min(540px,100%);margin-inline:auto}.about-copy{max-width:680px;margin-inline:auto}.about-copy h2{font-size:32px}.body-copy{font-size:14px}.process{padding:58px 0}.process-grid{grid-template-columns:1fr;gap:46px}.process-intro{position:static;min-height:auto;display:grid;grid-template-columns:1fr auto;align-items:end}.process-title,.process-rule{grid-column:1}.process-leaf{grid-column:2;grid-row:1/span 2;width:130px;margin:0}.steps{gap:40px}.step{grid-template-columns:55px 1fr;gap:18px}.step-icon{width:51px;height:51px}.step h3{font-size:24px}.step p{font-size:13px}.editorial,.reference{padding:75px 0}.editorial-grid,.reference-grid{grid-template-columns:1fr;gap:45px}.editorial-copy{padding-top:0}.section-kicker{font-size:15px}.editorial-heading h2,.reference h2{font-size:31px}.reference-decoration{display:none}.venue{aspect-ratio:auto;min-height:470px}.venue-photo{object-position:55% center}.quote-card-custom{left:24px;width:320px;min-height:0;padding:30px 34px}.quote-card-custom p{font-size:17px}.contact{grid-template-columns:1fr;gap:50px;padding:68px 0 48px}.contact-copy{order:1;max-width:620px;margin-inline:auto}.contact-brand{order:2;gap:35px}.footer-logo{width:260px}.footer-leaf{width:120px}.contact-title{font-size:19px}.contact-intro{font-size:15px}.contact-body{font-size:13px}.manual-cta{width:310px}.site-footer{font-size:9px}}
@media(max-width:560px){.site-header{min-height:72px;padding:12px 15px}.brand img{width:150px}.language-switch{transform:scale(.94);transform-origin:right center}.hero{min-height:575px}.hero-photo{object-position:67% center}.hero-copy{left:19px;top:11.5%;width:61%}.eyebrow{font-size:13px}.hero-rule{width:48px;margin:14px 0 19px}h1{font-size:27px;line-height:1.12}h1 span{font-size:.48em;line-height:1.43;margin-top:7px}.section-shell{width:min(100% - 36px,var(--max))}.about{padding:55px 0 62px;gap:34px}.about-copy h2{font-size:28px;line-height:1.2}.body-copy{font-size:12.5px;line-height:1.62}.about-rule{margin-bottom:18px}.process{padding:49px 0 55px}.process-intro{grid-template-columns:1fr 90px}.process-title{font-size:17px;letter-spacing:.22em}.process-rule{width:58px;margin:21px 0 8px}.process-leaf{width:90px}.steps{gap:34px}.step{grid-template-columns:45px 1fr;gap:13px}.step-icon{width:41px;height:41px}.step h3{font-size:19px}.step p{font-size:11.6px;line-height:1.58}.editorial,.reference{padding:58px 0}.section-kicker{font-size:12px;letter-spacing:.17em}.editorial-rule,.reference-rule{width:58px;margin:21px 0 26px}.editorial-heading h2,.reference h2{font-size:27px}.editorial-copy,.reference-copy>p:not(.section-kicker):not(.reference-emphasis){font-size:12.5px;line-height:1.62}.reference-emphasis{font-size:21px}.venue{min-height:420px}.venue-photo{object-position:56% center}.quote-card-custom{left:18px;width:245px;padding:25px 25px}.quote-card-custom p{font-size:14px}.quote-card-custom small{font-size:9px;margin-top:14px}.quote-card-custom img{width:55px;margin-top:13px}.contact{padding:54px 0 38px;gap:38px}.contact-title{font-size:17px;letter-spacing:.22em}.contact-rule{width:58px;margin:19px 0 24px}.contact-intro{font-size:14px}.contact-body{font-size:12px}.contact-closing{font-size:13px}.contact-links a{font-size:13px}.footer-logo{width:190px}.footer-leaf{width:88px}.manual-cta{width:280px;min-height:68px}.manual-icon{font-size:27px}.manual-text{font-size:15px}.site-footer{font-size:8px;padding-bottom:24px}}

/* v0.6 — motion system: subtle, editorial and wedding-oriented */
:root{--ease-premium:cubic-bezier(.22,.61,.36,1);--motion-fast:.36s;--motion-base:.72s;--motion-slow:1.15s}
.header-enter{animation:headerIn .7s var(--ease-premium) both}
@keyframes headerIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.hero{isolation:isolate}.hero-photo{will-change:transform}.hero-kenburns{animation:heroBreath 9s var(--ease-premium) both}
@keyframes heroBreath{from{transform:scale(1.035)}to{transform:scale(1)}}
.hero-copy-animated .eyebrow{animation:softRise .75s .12s var(--ease-premium) both}.hero-copy-animated .hero-rule{transform-origin:left center;animation:ruleDraw .8s .32s var(--ease-premium) both}.hero-copy-animated h1{animation:softRise .9s .42s var(--ease-premium) both}
@keyframes softRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes ruleDraw{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--motion-base) var(--ease-premium),transform var(--motion-base) var(--ease-premium)}.reveal.is-visible{opacity:1;transform:none}
.reveal-child{opacity:0;transform:translateY(18px);transition:opacity .78s var(--ease-premium),transform .78s var(--ease-premium)}
.reveal-left{transform:translate(-22px,12px)}.reveal-right{transform:translate(22px,12px)}
.reveal.is-visible .reveal-child{opacity:1;transform:none}
.steps .step:nth-child(1){transition-delay:.05s}.steps .step:nth-child(2){transition-delay:.16s}.steps .step:nth-child(3){transition-delay:.27s}
.decorative-rule{transform-origin:left center}.reveal:not(.is-visible) .decorative-rule{transform:scaleX(.45);opacity:.35}.reveal.is-visible .decorative-rule{transform:scaleX(1);opacity:1;transition:transform .85s .12s var(--ease-premium),opacity .65s .12s ease}
.process-leaf,.reference-decoration img,.footer-leaf,.quote-card-custom img{transition:transform 1.1s var(--ease-premium)}
.reveal.is-visible .process-leaf{animation:leafFloat 6s 1s ease-in-out infinite alternate}.reveal.is-visible .reference-decoration img{animation:leafFloatRef 7s 1.3s ease-in-out infinite alternate}.reveal.is-visible .footer-leaf{animation:leafFloat 6.5s 1s ease-in-out infinite alternate}
@keyframes leafFloat{from{transform:translateY(0) rotate(0)}to{transform:translateY(-5px) rotate(1.2deg)}}
@keyframes leafFloatRef{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(-6px) rotate(-6.8deg)}}
.step-icon{transition:transform .45s var(--ease-premium),filter .45s ease}.step:hover .step-icon{transform:translateY(-2px) scale(1.035)}
.step h3{transition:color .3s ease,transform .3s var(--ease-premium)}.step:hover h3{transform:translateX(2px)}
.phone-cta,.contact-links a,.manual-cta,.lang-btn{transition:transform .3s var(--ease-premium),background-color .3s ease,color .3s ease,box-shadow .3s ease,opacity .3s ease}
.phone-cta:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(29,29,27,.08)}.contact-links a:hover{transform:translateX(4px)}.manual-cta:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(29,29,27,.12);background:#8f9070}.manual-cta:active,.phone-cta:active{transform:translateY(0)}
.language-switch{transition:box-shadow .3s ease}.language-switch:hover{box-shadow:0 4px 13px rgba(29,29,27,.06)}
.lang-btn:hover:not(.is-active){background:rgba(124,124,101,.10)}
.lang-fade{animation:langFade .34s var(--ease-premium)}@keyframes langFade{from{opacity:.15;transform:translateY(3px)}to{opacity:1;transform:none}}
.about-media,.venue{overflow:hidden}.about-media img,.venue-photo{transition:transform 1.4s var(--ease-premium)}.about.reveal.is-visible .about-media img{transform:scale(1.012)}.venue.reveal.is-visible .venue-photo{transform:scale(1.01)}
.quote-card-custom{transition:opacity .8s var(--ease-premium),transform .8s var(--ease-premium),box-shadow .45s ease}.venue:hover .quote-card-custom{box-shadow:0 18px 46px rgba(29,29,27,.09)}
@media(max-width:880px){.reveal-left,.reveal-right{transform:translateY(18px)}.step:hover h3,.contact-links a:hover{transform:none}.hero-kenburns{animation-duration:7s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header-enter,.hero-kenburns,.hero-copy-animated .eyebrow,.hero-copy-animated .hero-rule,.hero-copy-animated h1,.reveal.is-visible .process-leaf,.reveal.is-visible .reference-decoration img,.reveal.is-visible .footer-leaf,.lang-fade{animation:none!important}.reveal,.reveal-child{opacity:1!important;transform:none!important;transition:none!important}.decorative-rule{transform:none!important;opacity:1!important;transition:none!important}.about-media img,.venue-photo{transform:none!important;transition:none!important}}

/* v0.7 — fidelity pass based on client review */
html,body,header,main,section,footer{border:0!important;outline:0!important}
main{overflow:clip}
.site-header,.hero,.about,.process,.editorial,.reference,.venue,.contact,.site-footer{margin-top:0;margin-bottom:0}
.site-header{box-shadow:none!important}
.hero{border-top:0!important;border-bottom:0!important}
.hero-photo{border:0!important;outline:0!important}

/* Hero: complete copy, consistent weight, no artificial bold/regular clash */
h1{font-weight:400!important;letter-spacing:-.02em}
h1 .hero-primary,h1 .hero-secondary{display:block;font-weight:400!important}
h1 .hero-primary{font-size:1em;line-height:1.13}
h1 .hero-secondary{font-size:.55em;line-height:1.42;margin-top:10px;max-width:760px}
.hero-role{margin:34px 0 0;max-width:720px;font-size:17px;line-height:1.48;letter-spacing:.045em;font-weight:400}

/* About: restore section title from definitive copy */
.about-kicker{margin:0 0 22px;font-size:18px;line-height:1;letter-spacing:.27em;font-weight:400;color:var(--ink)}
.about-rule{margin-bottom:34px}
.about-copy h2{margin-bottom:40px}

/* Process: closer to the supplied PDF composition */
.process{padding:86px 0 96px}
.process-grid{grid-template-columns:43% 57%;gap:20px;max-width:1320px}
.process-intro{position:static;min-height:560px;padding-top:4px;display:flex;flex-direction:column;align-items:center;text-align:center}
.process-title{font-size:28px;letter-spacing:.27em;text-align:center;margin-top:3px}
.process-rule{width:110px;margin:34px auto 28px}
.process-leaf{width:300px;margin:18px auto 0}
.steps{padding-top:0;gap:64px}
.step{grid-template-columns:64px 1fr;gap:24px}
.step h3{font-size:31px}
.step p{font-size:15px;line-height:1.58}

/* Reference section: same visual grammar as COME FUNZIONA */
.reference{padding:92px 0 105px;background:var(--cream)}
.reference-grid{grid-template-columns:43% 57%;gap:20px;align-items:start;max-width:1320px}
.reference-copy{display:contents}
.reference-copy .section-kicker{grid-column:1;grid-row:1;font-size:22px;line-height:1.5;letter-spacing:.20em;text-align:center;max-width:500px;justify-self:center;margin:0}
.reference-copy .reference-rule{grid-column:1;grid-row:2;width:110px;margin:28px auto 22px;justify-self:center}
.reference-decoration{grid-column:1;grid-row:3 / span 5;display:flex!important;justify-content:center;align-items:flex-start;padding-top:12px}
.reference-decoration img{width:300px;opacity:.94;transform:rotate(-7deg)}
.reference-copy h2{grid-column:2;grid-row:1 / span 2;align-self:end;margin:0 0 30px;font-size:40px;line-height:1.18;font-weight:400;max-width:740px}
.reference-copy>p:not(.section-kicker):not(.reference-emphasis){grid-column:2;font-size:16px;line-height:1.68;margin:0 0 25px;max-width:790px}
.reference-copy>p:nth-of-type(2){grid-row:3}
.reference-copy>p:nth-of-type(3){grid-row:4}
.reference-emphasis{grid-column:2;grid-row:5;font-size:27px;line-height:1.38;font-style:italic;margin:6px 0 0;color:var(--olive)}

/* Venue: centered translucent card, decorative leaf placed like the PDF */
.venue{isolation:isolate}
.quote-card-custom{left:7%;top:50%;transform:translateY(-50%);width:440px;min-height:292px;padding:42px 48px 44px;background:rgba(255,255,255,.91);overflow:visible}
.quote-card-custom .quote-rule{width:64px;margin-bottom:25px}
.quote-card-custom p{font-size:22px;line-height:1.46}
.quote-card-custom small{font-size:12px;line-height:1.55;margin-top:24px}
.quote-card-custom>img{position:absolute;width:116px;right:-48px;bottom:-34px;margin:0;z-index:2}

/* Contact/footer: one single background, centered branding */
.contact.section-shell{width:100%;max-width:none;margin:0;background:#fff;padding:110px max(36px,calc((100vw - var(--max))/2)) 82px}
.contact{grid-template-columns:1fr 1fr;gap:90px}
.contact-brand{flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center}
.footer-logo{width:390px;margin-inline:auto}
.footer-leaf{width:140px;margin-inline:auto}
.contact-copy{justify-self:center;width:min(100%,630px)}
.site-footer{background:#fff!important;color:rgba(29,29,27,.58)}

@media(max-width:1300px){
  .hero-role{font-size:14px;margin-top:26px;max-width:620px}
  .about-kicker{font-size:16px}
  .process-grid,.reference-grid{grid-template-columns:40% 60%}
  .process-title{font-size:23px}.process-leaf,.reference-decoration img{width:235px}
  .reference-copy .section-kicker{font-size:18px}.reference-copy h2{font-size:34px}
  .contact.section-shell{padding:88px max(36px,calc((100vw - var(--max))/2)) 68px}
}
@media(max-width:880px){
  .hero-role{font-size:11px;line-height:1.45;margin-top:20px;max-width:90%}
  .about-kicker{font-size:14px;margin-bottom:18px}
  .process-grid,.reference-grid{grid-template-columns:1fr;gap:38px}
  .process-intro{min-height:auto;display:flex;align-items:center;text-align:center}
  .process-title{font-size:20px}.process-rule{margin:24px auto 18px}.process-leaf{width:165px;margin:8px auto 0}
  .reference-copy{display:contents}
  .reference-copy .section-kicker{grid-column:1;grid-row:auto;font-size:16px;text-align:center;justify-self:center}
  .reference-copy .reference-rule{grid-column:1;grid-row:auto;margin:24px auto 18px}
  .reference-decoration{grid-column:1;grid-row:auto;padding:0}
  .reference-decoration img{width:165px}
  .reference-copy h2,.reference-copy>p:not(.section-kicker):not(.reference-emphasis),.reference-emphasis{grid-column:1;grid-row:auto}
  .reference-copy h2{font-size:31px;text-align:left;margin:0}
  .reference-copy>p:not(.section-kicker):not(.reference-emphasis){font-size:14px;margin:0 0 18px}
  .reference-emphasis{font-size:23px;margin-top:2px}
  .quote-card-custom{left:50%;top:50%;transform:translate(-50%,-50%);width:min(78%,360px);min-height:260px;padding:34px 36px 40px}
  .quote-card-custom>img{width:92px;right:-28px;bottom:-27px}
  .contact.section-shell{padding:70px 28px 50px;grid-template-columns:1fr;gap:44px}
  .footer-logo{width:min(320px,86vw)}.footer-leaf{width:110px}
}
@media(max-width:560px){
  h1 .hero-secondary{font-size:.58em}
  .hero-role{font-size:9.5px;letter-spacing:.025em}
  .process-title{font-size:18px}.process-leaf{width:145px}.step h3{font-size:20px}
  .reference-copy .section-kicker{font-size:14px}.reference-copy h2{font-size:27px}.reference-decoration img{width:145px}
  .quote-card-custom{width:82%;padding:28px 28px 36px}.quote-card-custom p{font-size:16px}.quote-card-custom small{font-size:10px}
}

/* v0.8 — alignment pass based on browser testing */
/* The black horizontal lines were embedded in the original hero bitmap; the asset is cropped in v0.8. */

/* HOW IT WORKS: two truly equal columns, each centred on its own axis */
.process-grid,
.reference-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  max-width:1450px!important;
  align-items:center!important;
}
.process-intro,
.reference-intro{
  width:100%;
  min-height:560px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:4px 56px 0;
}
.process-title,
.reference-intro .section-kicker{
  width:100%;
  text-align:center;
  justify-self:auto;
  margin:0;
}
.process-rule,
.reference-rule{
  width:110px!important;
  margin:34px auto 30px!important;
}
.process-leaf,
.reference-leaf{
  display:block;
  width:310px!important;
  max-width:72%;
  margin:18px auto 0!important;
  opacity:.94;
}
.steps,
.reference-copy{
  width:min(100%,680px);
  justify-self:center;
  align-self:center;
  margin-inline:auto;
}
.steps{padding:0 34px!important}
.step p{max-width:none}

/* Reference now uses the exact same 50/50 grammar as HOW IT WORKS */
.reference{padding:92px 0 105px}
.reference-intro .section-kicker{
  font-size:22px;
  line-height:1.5;
  letter-spacing:.20em;
  max-width:520px;
}
.reference-copy{display:block!important;padding:0 34px}
.reference-copy h2{
  margin:0 0 38px!important;
  font-size:40px;
  line-height:1.18;
  font-weight:400;
  max-width:680px;
}
.reference-copy>p:not(.reference-emphasis){
  font-size:16px;
  line-height:1.68;
  margin:0 0 30px!important;
  max-width:680px;
}
.reference-emphasis{
  font-size:27px;
  line-height:1.38;
  font-style:italic;
  margin:38px 0 0!important;
  color:var(--olive);
}

/* Keep the venue card centred vertically even when reveal animation changes transform. */
.quote-card-custom{
  top:50%!important;
  transform:none!important;
  translate:0 -50%;
}
.venue:hover .quote-card-custom{translate:0 calc(-50% - 2px)}

@media(max-width:1300px){
  .process-intro,.reference-intro{padding-inline:38px;min-height:500px}
  .process-leaf,.reference-leaf{width:245px!important}
  .steps,.reference-copy{width:min(100%,610px)}
  .reference-intro .section-kicker{font-size:18px}
  .reference-copy h2{font-size:34px}
}
@media(max-width:880px){
  .process-grid,.reference-grid{grid-template-columns:1fr!important;gap:42px!important}
  .process-intro,.reference-intro{min-height:auto;padding:0 18px}
  .process-leaf,.reference-leaf{width:165px!important;margin-top:8px!important}
  .steps,.reference-copy{width:100%;padding:0!important}
  .reference-copy h2{font-size:31px;margin-bottom:26px!important}
  .reference-copy>p:not(.reference-emphasis){font-size:14px;margin-bottom:20px!important}
  .reference-emphasis{font-size:23px;margin-top:26px!important}
}
@media(max-width:560px){
  .process-leaf,.reference-leaf{width:145px!important}
  .reference-intro .section-kicker{font-size:14px}
  .reference-copy h2{font-size:27px}
}

/* v0.9 — mobile readability and consistency pass */
/* Keep the About section on the same cream canvas on small screens. */
@media(max-width:880px){
  .about{background:var(--cream)!important;}

  /* Hero: preserve the photograph while adding a subtle readable canvas behind copy. */
  .hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(249,248,241,.96) 0%,rgba(249,248,241,.88) 35%,rgba(249,248,241,.48) 58%,rgba(249,248,241,0) 78%);
  }
  .hero-copy{z-index:2;width:min(66%,430px);}
  .hero-copy h1,.hero-copy .eyebrow,.hero-copy .hero-role{max-width:100%;}

  /* Venue card: true horizontal + vertical centring on mobile. */
  .quote-card-custom{
    left:50%!important;
    top:50%!important;
    translate:-50% -50%!important;
    width:min(86%,360px)!important;
    max-width:calc(100% - 40px)!important;
  }
  .venue:hover .quote-card-custom{translate:-50% calc(-50% - 2px)!important;}
}

@media(max-width:560px){
  .hero{min-height:650px;}
  .hero-photo{object-position:66% center;}
  .hero-copy{left:22px;top:10.5%;width:64%;}
  .hero::after{background:linear-gradient(90deg,rgba(249,248,241,.97) 0%,rgba(249,248,241,.90) 34%,rgba(249,248,241,.55) 56%,rgba(249,248,241,.08) 75%,rgba(249,248,241,0) 86%);}
  .eyebrow{font-size:15px;line-height:1.34;}
  h1{font-size:31px!important;line-height:1.13!important;}
  h1 .hero-secondary{font-size:.54em!important;line-height:1.5!important;margin-top:11px!important;}
  .hero-role{font-size:11px!important;line-height:1.45!important;margin-top:22px!important;max-width:95%!important;letter-spacing:.015em!important;}

  .quote-card-custom{
    width:calc(100% - 54px)!important;
    max-width:340px!important;
    padding:30px 28px 38px!important;
    background:rgba(255,255,255,.93)!important;
  }
  .quote-card-custom p{font-size:16px!important;line-height:1.48!important;}
  .quote-card-custom small{font-size:10px!important;line-height:1.5!important;}
  .quote-card-custom>img{right:-18px!important;bottom:-22px!important;width:78px!important;}
}

/* v0.10 visual consistency fixes */
main,.about,.editorial,.reference,.contact,.site-footer{background-color:var(--cream)}
.about.section-shell,.contact.section-shell{box-shadow:0 0 0 100vmax var(--cream);clip-path:inset(0 -100vmax)}
.hero{border:0;outline:0}
.hero-photo{border:0;outline:0}

/* =========================================================
   v0.12 — desktop alignment / spacing refinement
   ========================================================= */
@media (min-width: 881px){
  /* 1. Hero copy vertically centred within the photograph. */
  .hero-copy{
    top:50%!important;
    transform:translateY(-50%);
  }

  /* 2. About copy: stronger scale so the right column balances the photo. */
  .about-copy h2{
    font-size:50px!important;
    line-height:1.16!important;
    max-width:800px!important;
    margin-bottom:42px!important;
  }
  .about .body-copy{
    font-size:17px!important;
    line-height:1.72!important;
    max-width:800px!important;
  }

  /* Shared two-column grammar. */
  .process-grid,
  .editorial-grid,
  .reference-grid,
  .contact{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:0!important;
  }

  /* 3. HOW IT WORKS: treat title + rule + leaf as one centred block,
     while keeping the rule left-aligned like the PDF. */
  .process-intro{
    position:static!important;
    min-height:100%!important;
    width:max-content!important;
    max-width:100%!important;
    margin:auto!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
  }
  .process-title{margin:0!important;}
  .process-rule{
    width:94px!important;
    margin:30px 0 26px!important;
    align-self:flex-start!important;
  }
  .process-leaf{
    width:290px!important;
    max-width:78%!important;
    margin:0 auto!important;
    align-self:center!important;
  }
  .steps{
    width:min(100%,680px)!important;
    padding:0 34px!important;
    justify-self:center!important;
    align-self:center!important;
    margin-inline:auto!important;
  }

  /* 4. Editorial + Reference: identical column geometry. */
  .editorial-grid,
  .reference-grid{
    align-items:center!important;
  }
  .editorial-heading,
  .reference-intro{
    width:min(100%,680px)!important;
    justify-self:center!important;
  }
  .editorial-copy,
  .reference-copy{
    width:min(100%,680px)!important;
    max-width:680px!important;
    justify-self:center!important;
    margin-inline:auto!important;
  }
  .editorial-copy{
    padding:0 34px!important;
  }

  /* Reference mirrors HOW IT WORKS, including the beige canvas. */
  .reference{
    background:var(--beige)!important;
  }
  .reference-intro{
    min-height:100%!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    margin:auto!important;
  }
  .reference-intro .section-kicker{
    width:100%;
    text-align:left!important;
    margin:0!important;
  }
  .reference-rule{
    width:94px!important;
    margin:30px 0 26px!important;
    align-self:flex-start!important;
  }
  .reference-leaf{
    display:block!important;
    width:290px!important;
    max-width:78%!important;
    margin:0 auto!important;
    align-self:center!important;
    opacity:.94;
  }
  .reference-copy{
    padding:0 34px!important;
  }

  /* 5. Contact: two visually equal halves, matching the rest of the page. */
  .contact{
    align-items:center!important;
  }
  .contact-brand{
    width:min(100%,680px)!important;
    justify-self:center!important;
    margin-inline:auto!important;
  }
  .contact-copy{
    width:min(100%,630px)!important;
    max-width:630px!important;
    justify-self:center!important;
    margin-inline:auto!important;
  }
}

/* Reference must stay beige; v0.10's global cream rule is intentionally overridden. */
.reference{background-color:var(--beige)!important;}

/* Keep mobile behaviour from v0.11, but retain the intended section colour. */
@media (max-width: 880px){
  .reference{background-color:var(--beige)!important;}
}

/* =========================================================
   v0.13 — final desktop column alignment + hero position
   ========================================================= */
@media (min-width: 881px){
  /* Hero: keep the copy balanced in the upper-middle area,
     instead of mathematically centring it too low. */
  .hero-copy{
    top:43%!important;
    transform:translateY(-50%)!important;
  }

  /* Use the same 50/50 column split for every two-column section. */
  .about,
  .process-grid,
  .editorial-grid,
  .reference-grid,
  .contact{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:0!important;
  }

  /* ABOUT: both halves now share the same vertical divider as
     HOW IT WORKS / EDITORIAL / REFERENCE / CONTACT. */
  .about{
    align-items:center!important;
  }
  .about-media{
    width:min(100%,620px)!important;
    justify-self:center!important;
    margin-inline:auto!important;
  }
  .about-media img{
    width:100%!important;
  }
  .about-copy{
    width:min(100%,680px)!important;
    max-width:680px!important;
    justify-self:center!important;
    align-self:center!important;
    margin-inline:auto!important;
    padding:0 34px!important;
  }
  .about-copy h2{
    max-width:100%!important;
  }
  .about .body-copy{
    max-width:100%!important;
  }

  /* Keep the inner content centred inside its own half everywhere. */
  .process-intro,
  .editorial-heading,
  .reference-intro,
  .contact-brand{
    justify-self:center!important;
  }
  .steps,
  .editorial-copy,
  .reference-copy,
  .contact-copy{
    justify-self:center!important;
  }
}

/* =========================================================
   v0.14 — Reference intro mirrors HOW IT WORKS
   ========================================================= */
@media (min-width: 881px){
  .reference-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:0!important;
    align-items:center!important;
  }

  .reference-intro{
    position:static!important;
    min-height:560px!important;
    padding:4px 0 0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
    text-align:center!important;
    justify-self:stretch!important;
    margin:0!important;
  }

  .reference-intro .section-kicker{
    width:auto!important;
    max-width:520px!important;
    margin:3px auto 0!important;
    font-size:28px!important;
    line-height:1.42!important;
    letter-spacing:.27em!important;
    font-weight:400!important;
    text-align:center!important;
  }

  .reference-rule{
    width:110px!important;
    margin:34px auto 28px!important;
    align-self:center!important;
  }

  .reference-leaf{
    display:block!important;
    width:300px!important;
    max-width:none!important;
    margin:18px auto 0!important;
    align-self:center!important;
    opacity:.94!important;
  }

  .reference-copy{
    align-self:center!important;
  }
}

@media (min-width: 881px) and (max-width: 1300px){
  .reference-intro{min-height:500px!important;}
  .reference-intro .section-kicker{font-size:23px!important;max-width:440px!important;}
  .reference-rule{width:94px!important;margin:30px auto 24px!important;}
  .reference-leaf{width:245px!important;margin-top:14px!important;}
}

/* =========================================================
   v0.15 — Reference intro aligned like HOW IT WORKS
   Title + rule left aligned, leaf centred in the left half.
   ========================================================= */
@media (min-width: 881px){
  .reference-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:0!important;
    align-items:center!important;
  }

  .reference-intro{
    position:static!important;
    min-height:560px!important;
    padding:12px 0 0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    text-align:left!important;
    justify-self:center!important;
    width:min(100%,680px)!important;
    margin:0 auto!important;
  }

  .reference-intro .section-kicker{
    width:100%!important;
    max-width:520px!important;
    margin:0!important;
    font-size:28px!important;
    line-height:1.42!important;
    letter-spacing:.27em!important;
    font-weight:400!important;
    text-align:left!important;
  }

  .reference-rule{
    width:110px!important;
    margin:34px 0 28px!important;
    align-self:flex-start!important;
  }

  .reference-leaf{
    display:block!important;
    width:300px!important;
    max-width:none!important;
    margin:18px auto 0!important;
    align-self:center!important;
    opacity:.94!important;
  }

  .reference-copy{
    width:min(100%,680px)!important;
    max-width:680px!important;
    justify-self:center!important;
    align-self:center!important;
    margin-inline:auto!important;
    padding:0 34px!important;
  }
}

@media (min-width: 881px) and (max-width: 1300px){
  .reference-intro{min-height:500px!important;width:min(100%,560px)!important;}
  .reference-intro .section-kicker{font-size:23px!important;max-width:440px!important;}
  .reference-rule{width:94px!important;margin:30px 0 24px!important;}
  .reference-leaf{width:245px!important;margin-top:14px!important;}
}

/* v0.18: language transition is handled as one continuous main-content
   fade in script.js; no per-element restart animation is applied here. */

.manual-header-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;

  background: #9a9a78;
  color: #fff;
  border: 1px solid #d9d5bd;

  padding: 10px 16px;
  font-size: 11px;
  letter-spacing: 0.08em;
  white-space: nowrap;

  transition: transform .3s ease,
              background-color .3s ease,
              box-shadow .3s ease;
}

.manual-header-btn:hover {
  background: #6f705a;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 7px 20px rgba(29,29,27,.08);
}

@media (max-width: 768px) {
  .site-header {
    padding: 12px 10px;
    gap: 8px;
  }

  .brand img {
    width: 130px;
  }

  .header-actions {
    gap: 6px;
    flex-shrink: 0;
  }

  .language-switch {
    flex-shrink: 0;
    transform: none;
  }

  .lang-btn {
    min-width: 38px;
    padding: 6px 7px;
  }

  .manual-header-btn {
    padding: 8px 9px;
    font-size: 8px;
    letter-spacing: 0.03em;
    flex-shrink: 0;
  }

  .phone-cta {
    flex-shrink: 0;
  }
}