:root{--paper:#f5f1e9;--white:#fbf9f6;--char:#5b4f4f;--mid:#726966;--green:#6f785a;--green2:#6f785a;--gold:#ada497;--hair:#ded8ce;--font-display:Georgia,"Times New Roman",serif;--font-ui:Arial,Helvetica,sans-serif;--max:1230px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--char);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;line-height:1.7}
a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}
::selection{background:#e6e0d5;color:#5b4f4f}
.skip-link{position:absolute;top:-50px;left:15px;z-index:999;padding:9px 14px;color:#5b4f4f;background:#fff}.skip-link:focus{top:12px}
.container{width:min(100% - 64px,var(--max));margin-inline:auto}
.site-header{z-index:80;position:absolute;inset:0 0 auto;color:#fff;border-bottom:1px solid rgba(255,255,255,.30)}
.site-header.inner{position:relative;background:var(--white);color:var(--char);border-bottom:1px solid var(--hair)}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:38px;height:96px}
.brand{display:flex;align-items:center;gap:15px;flex-shrink:0;white-space:nowrap}
.brand-mark{width:39px;height:39px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-style:italic;font-size:25px;line-height:1;opacity:.9}
.brand-type{display:flex;flex-direction:column;gap:2px}
.brand-name{font-family:var(--font-display);font-size:21px;line-height:1.1;letter-spacing:.035em}
.brand-sub{font-size:8px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;opacity:.8}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links>a{position:relative;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.165em;white-space:nowrap}
.nav-links>a::after{content:"";position:absolute;left:0;right:100%;height:1px;bottom:-8px;background:currentColor;transition:right .25s}
.nav-links>a:hover::after,.nav-links>a[aria-current="page"]::after{right:0}
.language{display:flex;align-items:center;gap:9px;margin-left:6px;padding-left:20px;border-left:1px solid currentColor;font-size:11px;font-weight:600;letter-spacing:.07em}
.language .inactive{opacity:.65;transition:opacity .2s}.language .inactive:hover{opacity:1}.language .active{font-weight:700}
.menu-toggle{display:none;border:0;background:none;color:inherit;cursor:pointer;padding:8px;line-height:1}
.hero{min-height:780px;min-height:100svh;position:relative;isolation:isolate;background:var(--green);color:white;display:flex;align-items:flex-end}
.hero-picture,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.hero-shade{background:linear-gradient(180deg,rgba(51,39,37,.47) 0%,rgba(51,39,37,.05) 30%,rgba(51,39,37,.18) 52%,rgba(51,39,37,.70) 100%)}
.hero-content{width:100%;padding:145px 0 92px}
.overline{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.25em}
.hero .overline{color:#fbf9f6}
.hero h1{font-family:var(--font-display);font-size:clamp(60px,9.4vw,150px);letter-spacing:-.04em;line-height:.93;margin:23px 0 26px;font-weight:400;max-width:1050px}
.hero h1 em{font-weight:400;font-style:italic}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:45px}
.hero-tagline{font-family:var(--font-display);font-size:clamp(21px,2.4vw,32px);max-width:600px;line-height:1.38;margin:0}
.scroll-cue{font-size:10px;text-transform:uppercase;letter-spacing:.24em;white-space:nowrap;display:flex;align-items:center;gap:15px}
.scroll-cue::after{content:"";width:45px;height:1px;background:currentColor}
.section{padding:132px 0}.section.section-light{background:var(--white)}
.intro-center{text-align:center;max-width:920px;margin:auto}
.intro-center h2{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,5vw,69px);line-height:1.24;letter-spacing:-.032em;margin:27px auto 30px}
.intro-center h2 em{font-style:italic;color:#6f785a}
.lede{font-family:var(--font-display);font-size:clamp(20px,2vw,27px);line-height:1.53}
.intro-center>p:last-child{max-width:680px;margin:0 auto;color:var(--mid)}
.editorial-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(55px,9vw,135px)}
.editorial-grid.flip{grid-template-columns:.9fr 1.1fr}
.section-title{font-family:var(--font-display);font-size:clamp(44px,5.1vw,78px);line-height:1.05;letter-spacing:-.035em;font-weight:400;margin:18px 0 27px}
.section-title em{font-weight:400;color:#6f785a}
.editorial-copy{max-width:500px}
.editorial-copy p{font-size:16px;color:var(--mid);margin:0 0 16px}
.editorial-copy .lede{font-size:22px;color:var(--char)}
.photo-figure{margin:0}
.photo-frame{overflow:hidden;background:#dad5cb;position:relative}
.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center}
.photo-frame.land{aspect-ratio:5/4}.photo-frame.gap{aspect-ratio:4/5}.photo-frame.portrait{aspect-ratio:4/5}
.photo-frame.family{aspect-ratio:4/5;max-width:440px;margin:0 auto}.photo-frame.family img{object-position:center center}
.photo-frame.arnie{aspect-ratio:6/5}
.photo-caption{margin-top:13px;color:var(--mid);font-size:11px;letter-spacing:.06em}
.text-link{display:inline-flex;align-items:center;gap:18px;margin-top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:7px}
.text-link span{font-size:18px;line-height:1;transition:transform .2s}.text-link:hover span{transform:translateX(6px)}
.story-note{font-family:var(--font-display);font-size:clamp(28px,3.2vw,46px);line-height:1.25;margin:0 0 28px;letter-spacing:-.02em}
.story-signature{font-family:var(--font-display);font-style:italic;font-size:20px;color:var(--green2)}
.band-photo{position:relative;min-height:380px;display:grid;place-items:center;color:#fff;text-align:center;background:#5b4f4f;isolation:isolate}
.band-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band-photo::after{content:"";position:absolute;inset:0;background:rgba(51,39,37,.40);z-index:-1}
.band-photo h2{font-family:var(--font-display);font-size:clamp(37px,5vw,75px);font-weight:400;letter-spacing:-.04em;line-height:1.07;max-width:880px;margin:20px auto 0}
.band-photo .container{padding:55px 0}
.small-divider{height:1px;background:var(--hair);margin:35px 0}
.contact-cta{position:relative;isolation:isolate;min-height:540px;display:flex;align-items:center;color:white;background:var(--green)}
.contact-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.contact-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(51,39,37,.80),rgba(51,39,37,.25));z-index:-1}
.contact-cta h2{font-family:var(--font-display);font-size:clamp(45px,6.2vw,86px);font-weight:400;line-height:1.07;letter-spacing:-.04em;max-width:750px;margin:20px 0 23px}
.contact-cta p{max-width:580px}
.button-outline{display:inline-flex;align-items:center;gap:30px;margin-top:20px;padding:17px 27px;font-size:11px;letter-spacing:.19em;text-transform:uppercase;border:1px solid currentColor;transition:.23s}
.button-outline:hover{background:white;color:var(--green);border-color:white}
.site-footer{background:#5b4f4f;color:#fbf9f6;padding:73px 0 31px}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:35px}
.footer-name{font-family:var(--font-display);font-size:35px;line-height:1.12;margin:0 0 7px}
.footer-sub{font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:.8}
.footer-links{display:flex;flex-wrap:wrap;gap:22px}
.footer-links a{font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.footer-bottom{border-top:1px solid rgba(255,255,255,.22);margin-top:65px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#f0e9e1}
.footer-bottom a{color:white}
.sub-hero{position:relative;display:flex;align-items:flex-end;min-height:520px;isolation:isolate;background:var(--green);color:#fff}
.sub-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.sub-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(51,39,37,.74),rgba(51,39,37,.08) 85%);z-index:-1}
.sub-hero .container{padding:120px 0 75px}
.sub-hero h1{font-family:var(--font-display);font-size:clamp(60px,8vw,112px);font-weight:400;letter-spacing:-.04em;line-height:1.0;margin:21px 0 0}
.sub-intro{max-width:830px;margin:0 auto;text-align:center}
.sub-intro h2{font-family:var(--font-display);font-size:clamp(31px,4vw,56px);line-height:1.23;font-weight:400;letter-spacing:-.025em}
.timeline{max-width:970px;margin:0 auto}
.timeline-row{display:grid;grid-template-columns:180px 1fr;gap:45px;padding:47px 0;border-top:1px solid var(--hair)}
.timeline-row:last-child{border-bottom:1px solid var(--hair)}
.year{font-family:var(--font-display);font-size:clamp(46px,5vw,75px);line-height:1;color:var(--green);font-weight:400}
.timeline-row h3{font-family:var(--font-display);font-size:clamp(27px,3vw,37px);font-weight:400;margin:0 0 10px}
.timeline-row p{margin:0;color:var(--mid);font-size:16px;max-width:620px}
.story-photos{display:grid;grid-template-columns:1fr .84fr;gap:32px;align-items:start}
.story-photos .photo-frame:first-child{aspect-ratio:4/5}.story-photos .photo-frame:nth-child(2){aspect-ratio:4/5;margin-top:85px}
.story-photos .photo-frame:nth-child(2) img{object-position:center 25%}
.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,105px);align-items:start}
.contact-main h2{font-family:var(--font-display);font-size:clamp(36px,4.6vw,66px);font-weight:400;line-height:1.15;margin:18px 0 22px}
.contact-main p{color:var(--mid)}
.contact-detail{padding:25px 0;border-top:1px solid var(--hair)}
.contact-detail:last-of-type{border-bottom:1px solid var(--hair)}
.contact-detail dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);margin-bottom:9px}
.contact-detail dd{margin:0;font-family:var(--font-display);font-size:clamp(21px,2.3vw,31px)}
.contact-detail dd a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-side{margin-top:0}
.contact-side .photo-frame{aspect-ratio:5/4}
.contact-side .photo-caption{font-size:13px;line-height:1.6}
.contact-note{margin-top:26px;font-size:14px;color:var(--mid)}
.placeholder-page{padding:100px 0;min-height:65vh}
.placeholder-page h1{font-family:var(--font-display);font-size:clamp(45px,7vw,90px);font-weight:400}
@media(max-width:1030px){.brand-name{font-size:18px}.nav-links{gap:18px}.container{width:min(100% - 44px,var(--max))}.editorial-grid{gap:50px}}
@media(max-width:760px){
 .container{width:min(100% - 36px,var(--max))}
 .nav-shell{height:77px}.brand{gap:10px}.brand-mark{width:34px;height:34px;font-size:21px}.brand-name{font-size:17px}.brand-sub{font-size:7px}
 .menu-toggle{display:block}.nav-links{display:none;position:absolute;top:77px;left:0;right:0;background:var(--white);color:var(--char);padding:32px 24px 38px;border-bottom:1px solid var(--hair);box-shadow:0 12px 35px rgba(0,0,0,.11);flex-direction:column;align-items:flex-start;gap:27px}
 .nav-links.open{display:flex}.nav-links>a{font-size:13px}.language{margin:0;padding:21px 0 0;border:0;border-top:1px solid var(--hair);width:100%;font-size:13px}
 .hero{min-height:650px;min-height:100svh}.hero-content{padding:140px 0 66px}.hero h1{font-size:clamp(55px,12vw,90px)}.hero-tagline{font-size:22px;max-width:380px}.hero-bottom{display:block}.scroll-cue{margin-top:40px}
 .section{padding:83px 0}.intro-center h2{font-size:clamp(33px,8.7vw,58px)}
 .editorial-grid,.editorial-grid.flip{grid-template-columns:1fr;gap:38px}.editorial-copy{max-width:none}
 .photo-frame.land{aspect-ratio:5/4}.photo-frame.gap{aspect-ratio:5/4}.photo-frame.family{max-width:430px}
 .band-photo{min-height:320px}.contact-cta{min-height:440px}
 .footer-top{display:block}.footer-links{margin-top:34px}.footer-bottom{flex-direction:column}.site-footer{padding-top:62px}
 .sub-hero{min-height:390px}.sub-hero .container{padding-bottom:55px}
 .timeline-row{grid-template-columns:1fr;gap:13px;padding:34px 0}.story-photos{gap:14px}
 .contact-main{grid-template-columns:1fr}.contact-side .photo-frame{aspect-ratio:5/4}
}
@media(max-width:450px){.brand-name{font-size:16px}.hero h1{font-size:15vw}.hero-tagline{font-size:20px}.hero{min-height:580px;min-height:100svh}.story-photos{grid-template-columns:1fr 1fr}.story-photos .photo-frame:nth-child(2){margin-top:35px}.footer-name{font-size:31px}.section-title{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}


/* BRAND IDENTITY — extracted from the official Il Ceppo d'Argento logo */
.brand{gap:14px;line-height:1;white-space:normal}
.brand-symbol{display:block;width:64px;height:57px;object-fit:contain;flex:none}
.brand-lettering{display:block;width:202px;height:auto;max-width:100%}
.site-header{color:var(--white)}
.site-header.inner{background:var(--white);color:var(--char)}
.site-header .brand-logo-dark{display:none}
.site-header.inner .brand-logo-light{display:none}
.site-header.inner .brand-logo-dark{display:block}
.site-header:not(.inner) .brand-logo-light{display:block}
.brand-type{gap:0}
.brand-sub{font-size:9px;letter-spacing:.155em;margin-top:5px;opacity:.86;white-space:nowrap}
.hero-logo-symbol{display:block;width:clamp(130px,17vw,220px);height:auto;margin:0 0 15px;filter:drop-shadow(0 2px 9px rgba(27,23,22,.12))}
.hero-content{padding-top:165px}
.hero .overline{display:inline-block;margin-bottom:16px}
.hero-shade{background:linear-gradient(180deg,rgba(44,37,36,.53) 0%,rgba(44,37,36,.04) 29%,rgba(44,37,36,.20) 52%,rgba(44,37,36,.77) 100%)}
.hero h1{color:var(--white)}
.intro-center h2 em,.section-title em{color:var(--green)}
.footer-brand{width:262px;max-width:100%;height:auto;display:block;margin:-19px 0 12px}
.footer-name{font-family:var(--font-display);color:var(--white)}
.site-footer .footer-sub{color:var(--white)}
.site-footer a:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:1030px){.brand-lettering{width:174px}.brand-symbol{width:56px;height:51px}}
@media(max-width:760px){
 .brand{gap:10px}
 .brand-symbol{width:49px;height:46px}
 .brand-lettering{width:158px}
 .brand-sub{font-size:7px;letter-spacing:.12em;margin-top:4px}
 .hero-logo-symbol{width:clamp(135px,30vw,185px);margin-bottom:13px}
 .hero-content{padding-top:132px}
 .footer-brand{width:240px}
}
@media(max-width:390px){.brand-symbol{width:41px}.brand-lettering{width:142px}}
