@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Manrope:wght@400;500;600&display=swap');

:root { --paper:#f7f3ec; --paper-deep:#eee7dc; --ink:#24352d; --ink-soft:#526057; --brass:#9b7c3e; --rule:#cfc7b9; --cream:#fffdfa; --serif:'Fraunces', Georgia, serif; --sans:'Manrope', Arial, sans-serif; --mono:'DM Mono', monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.65; text-rendering:optimizeLegibility; }
::selection { background:#d9c796; color:var(--ink); }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:4px; }
a:hover { color:var(--brass); }
img { display:block; max-width:100%; }
.skip-link { background:var(--ink); color:var(--paper); left:1rem; padding:.65rem 1rem; position:fixed; top:-5rem; z-index:99; }
.skip-link:focus { top:1rem; }
.site-header { border-bottom:1px solid var(--rule); }
.header-inner, .container { margin:auto; max-width:1180px; padding-left:clamp(1.25rem,4vw,4rem); padding-right:clamp(1.25rem,4vw,4rem); }
.header-inner { align-items:center; display:flex; justify-content:space-between; min-height:82px; }
.brand { color:var(--ink); display:inline-flex; flex-direction:column; font-family:var(--serif); line-height:.92; text-decoration:none; }
.brand-main { font-size:clamp(1.42rem,2vw,1.85rem); letter-spacing:.035em; text-transform:uppercase; }
.brand-sub { font-family:var(--mono); font-size:.62rem; letter-spacing:.16em; margin-top:.65rem; text-transform:uppercase; }
.site-nav ul { display:flex; gap:clamp(.8rem,1.8vw,1.8rem); list-style:none; margin:0; padding:0; }
.site-nav a { font-family:var(--mono); font-size:.67rem; letter-spacing:.08em; position:relative; text-decoration:none; text-transform:uppercase; }
.site-nav a[aria-current='page']::after { background:var(--brass); bottom:-10px; content:''; height:2px; left:0; position:absolute; width:100%; }
.menu-toggle { background:transparent; border:0; color:var(--ink); display:none; font:500 .9rem "Cormorant Garamond", Georgia, serif; letter-spacing:.04em; padding:1rem 0; text-transform:uppercase; }
main { overflow:hidden; }
.eyebrow { color:var(--brass); font:500 .68rem var(--mono); letter-spacing:.14em; margin:0 0 1.25rem; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { font:500 clamp(2.7rem,4.7vw,4.8rem)/1 var(--serif); letter-spacing:-.055em; }
h2 { font:500 clamp(1.9rem,3.2vw,3.1rem)/1.08 var(--serif); letter-spacing:-.045em; }
h3 { font:500 1.25rem/1.25 var(--serif); }
.lede { font:400 clamp(1rem,1.45vw,1.18rem)/1.65 var(--sans); }
.button { align-items:center; border:1px solid var(--ink); display:inline-flex; font:500 .68rem var(--mono); gap:.8rem; letter-spacing:.1em; padding:1.05rem 1.25rem; text-decoration:none; text-transform:uppercase; transition:background .2s, color .2s, transform .2s; }
.button:hover,.button:focus-visible { background:var(--ink); color:var(--paper); transform:translateY(-2px); }
.button::after { content:'→'; font-size:1rem; }
.page-intro { max-width:760px; padding-bottom:clamp(2.8rem,5vw,5rem); padding-top:clamp(2.8rem,5vw,5rem); }
.page-intro h1 { margin-bottom:1.4rem; }
.rule { border:0; border-top:1px solid var(--rule); margin:0; }

/* Home */
.home-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr); gap:clamp(2.5rem,5vw,5rem); padding-bottom:clamp(3rem,6vw,5.5rem); padding-top:clamp(3rem,5vw,4.5rem); }
.hero-copy { align-self:center; max-width:645px; }
.hero-copy h1 { margin-bottom:1.6rem; }
.hero-copy .lede { margin-bottom:2rem; }
.hero-meta { font:500 .67rem var(--mono); letter-spacing:.1em; margin-top:2.5rem; text-transform:uppercase; }
.hero-meta span { color:var(--brass); padding:0 .6rem; }
.hero-art { align-self:center; aspect-ratio:4 / 3; background:var(--paper-deep); overflow:hidden; position:relative; }
.hero-art img { height:100%; object-fit:cover; position:absolute; width:100%; }
.trust { align-items:center; border-bottom:1px solid var(--rule); border-top:1px solid var(--rule); display:flex; gap:1rem; justify-content:center; padding:1.3rem 0; text-align:center; }
.trust p { font:500 .68rem var(--mono); letter-spacing:.1em; margin:0; text-transform:uppercase; }
.trust::before,.trust::after { background:var(--brass); content:''; height:1px; width:28px; }
.home-section { padding-bottom:clamp(3rem,6vw,6rem); padding-top:clamp(3rem,6vw,6rem); }
.split-heading { display:grid; grid-template-columns:.7fr 1.3fr; gap:3rem; }
.split-heading .statement { font:500 clamp(1.45rem,2.4vw,2.25rem)/1.22 var(--serif); letter-spacing:-.04em; max-width:690px; }
.project-list { border-top:1px solid var(--rule); margin-top:clamp(3rem,7vw,6.5rem); }
.project-list a { align-items:baseline; border-bottom:1px solid var(--rule); display:flex; font:500 clamp(1.2rem,1.9vw,1.75rem)/1.2 var(--serif); gap:1rem; justify-content:space-between; letter-spacing:-.04em; padding:1rem 0; text-decoration:none; }
.project-list a span { color:var(--brass); font:400 .65rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.quote-band { background:var(--ink); color:var(--paper); }
.quote-band blockquote { font:400 clamp(1.8rem,3.1vw,3.2rem)/1.1 var(--serif); letter-spacing:-.05em; margin:0; max-width:900px; }
.quote-band cite { color:#d6c796; display:block; font:400 .67rem var(--mono); font-style:normal; letter-spacing:.1em; margin-top:2.5rem; text-transform:uppercase; }
.home-contact { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:end; }
.home-contact h2 { margin:0; max-width:660px; }

/* Content pages */
.about-layout { align-items:start; display:grid; grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr); gap:clamp(2.5rem,6vw,6rem); padding-bottom:clamp(3rem,6vw,6rem); }
.portrait-frame { aspect-ratio:4 / 5; background:var(--paper-deep); min-height:0; position:static; }
.portrait-frame img { height:100%; object-fit:cover; object-position:center 25%; width:100%; }
.asset-note { background:rgba(36,53,45,.88); bottom:0; color:var(--paper); font:.6rem/1.5 var(--mono); left:0; letter-spacing:.07em; margin:0; padding:.75rem 1rem; position:absolute; right:0; text-transform:uppercase; }
.prose { font-size:1.06rem; max-width:680px; }
.prose p { margin-bottom:1.6rem; }
.distillation { border-top:1px solid var(--rule); display:grid; grid-template-columns:150px 1fr; gap:2rem; margin-top:4rem; padding-top:2.3rem; }
.distillation img { width:130px; }
.definition-term { font:500 .75rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.definition-copy { font:400 1rem/1.7 var(--serif); margin:.7rem 0 0; }
.definition-copy em { color:var(--ink-soft); }
.services-list { border-top:1px solid var(--rule); }
.service { border-bottom:1px solid var(--rule); display:grid; gap:2rem; grid-template-columns:.9fr 1.1fr; padding:2.3rem 0; }
.service h2 { font-size:clamp(1.65rem,3vw,2.7rem); margin:0; }
.service p { margin:0; max-width:500px; }
.clients { display:grid; gap:0; grid-template-columns:repeat(2,1fr); list-style:none; margin:0; padding:0; }
.clients li { border-bottom:1px solid var(--rule); font:500 clamp(1.05rem,1.7vw,1.35rem)/1.3 var(--serif); padding:1.1rem 1rem 1.1rem 0; }
.clients li:nth-child(even) { padding-left:1rem; padding-right:0; }
.testimonials { display:grid; gap:clamp(3rem,7vw,7rem); margin-top:clamp(4rem,8vw,8rem); }
.testimonial { border-left:1px solid var(--brass); margin:0; padding-left:clamp(1.3rem,3vw,3rem); }
.testimonial p { font:400 clamp(1.3rem,2.2vw,2.15rem)/1.3 var(--serif); letter-spacing:-.035em; margin:0; max-width:880px; }
.testimonial cite { display:block; font:500 .66rem var(--mono); font-style:normal; letter-spacing:.1em; margin-top:1.4rem; text-transform:uppercase; }
.contact-card { border-bottom:1px solid var(--rule); border-top:1px solid var(--rule); display:grid; grid-template-columns:1fr auto; gap:2rem; padding:2.2rem 0; }
.contact-card a { font:500 clamp(1.5rem,3vw,2.6rem)/1.15 var(--serif); letter-spacing:-.04em; text-decoration:none; }
.location { color:var(--ink-soft); font:500 .67rem var(--mono); letter-spacing:.11em; margin-top:2rem; text-transform:uppercase; }
.privacy-content { max-width:720px; padding-bottom:7rem; }
.privacy-content h2 { font-size:1.8rem; margin:3rem 0 .9rem; }

/* Footer */
.site-footer { border-top:1px solid var(--rule); }
.footer-definition { align-items:center; display:grid; gap:clamp(2rem,5vw,4rem); grid-template-columns:215px 1fr; padding-bottom:3rem; padding-top:3rem; }
.footer-definition img { width:190px; }
.footer-definition img[src$="distillery.svg"] { content:url("../images/distillery-engraving.jpg"); }
.footer-definition p { font:400 1.06rem/1.7 var(--serif); margin:.5rem 0 0; max-width:640px; }
.footer-bottom { border-top:1px solid var(--rule); display:flex; font:400 .64rem var(--mono); justify-content:space-between; letter-spacing:.08em; padding:1.5rem 0; text-transform:uppercase; }
.footer-bottom a { text-decoration:none; }

/* Approved homepage reference layout */
.approved-home .header-inner { max-width:1536px; min-height:104px; padding-left:clamp(2rem,3vw,2.6rem); padding-right:clamp(2rem,3vw,2.6rem); }
.approved-home .brand-main { font-size:clamp(1.75rem,2.45vw,2.45rem); letter-spacing:.13em; }
.approved-home .brand-sub { font-size:.75rem; letter-spacing:.32em; margin-top:.55rem; }
.approved-home-hero { display:grid; grid-template-columns:minmax(0,39%) minmax(0,61%); margin:0 auto; max-width:1536px; min-height:515px; }
.approved-home-copy { align-self:center; padding:2rem clamp(2rem,3vw,2.6rem) 2.5rem; }
.approved-home-copy .eyebrow { margin-bottom:2rem; }
.approved-home-copy h1 { font-size:clamp(3rem,4.25vw,4.25rem); line-height:1; margin-bottom:1.6rem; max-width:560px; }
.hero-prose { font:400 1.05rem/1.62 var(--serif); max-width:500px; }
.hero-prose p { margin-bottom:1rem; }
.button-solid { background:var(--ink); color:var(--paper); margin-top:1rem; }
.button-solid:hover,.button-solid:focus-visible { background:var(--brass); border-color:var(--brass); }
.approved-home-image { margin:0; min-height:515px; overflow:hidden; }
.approved-home-image img { height:100%; object-fit:cover; width:100%; }
.specialties { border-bottom:1px solid var(--rule); border-top:1px solid var(--rule); margin:0 auto; max-width:1536px; padding:1.05rem clamp(2rem,3vw,2.6rem) 2.3rem; }
.specialties-heading { font:500 .7rem var(--mono); letter-spacing:.13em; margin:0 0 1.3rem; text-align:center; text-transform:uppercase; }
.specialty-grid { display:grid; grid-template-columns:repeat(6,1fr); }
.specialty { align-items:center; border-left:1px solid var(--rule); display:flex; flex-direction:column; justify-content:flex-start; min-height:87px; padding:.1rem .6rem; text-align:center; }
.specialty:first-child { border-left:0; }
.specialty-icon { color:var(--ink); font:400 1.9rem/1 var(--serif); height:2rem; }
.specialty h2 { font:500 .67rem/1.45 var(--serif); letter-spacing:.02em; margin:.55rem 0 0; text-transform:uppercase; }
.distillation-feature { align-items:center; display:grid; gap:clamp(2rem,5vw,5rem); grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr); margin:0 auto; max-width:1536px; padding:clamp(2.5rem,4vw,4rem) clamp(2rem,5vw,5rem); }
.distillation-feature > img { max-height:210px; object-fit:contain; width:100%; }
.distillation-feature h2 { font:500 clamp(1.7rem,2.5vw,2.5rem)/1 var(--serif); letter-spacing:.08em; margin-bottom:1.3rem; }
.distillation-feature h2 em { font-size:.5em; font-weight:400; letter-spacing:0; }
.distillation-feature ol { counter-reset:definition; list-style:none; margin:0; padding:0; }
.distillation-feature li { counter-increment:definition; font:400 clamp(.98rem,1.4vw,1.15rem)/1.65 var(--serif); margin:.7rem 0; padding-left:2rem; position:relative; }
.distillation-feature li::before { content:counter(definition) "."; font:500 1.1rem var(--serif); left:0; position:absolute; }
.approved-home .site-footer { border-top:0; }

@media (max-width:760px) {
 .approved-home .header-inner { min-height:69px; padding-left:1.3rem; padding-right:1.3rem; }
 .approved-home .brand-main { font-size:1.18rem; letter-spacing:.12em; }
 .approved-home .brand-sub { font-size:.54rem; letter-spacing:.25em; margin-top:.36rem; }
 .approved-home .site-nav { top:69px; }
 .approved-home-hero { grid-template-columns:1fr; min-height:0; }
 .approved-home-copy { padding:1rem 1.3rem 1.3rem; }
 .approved-home-copy .eyebrow { font-size:.58rem; margin-bottom:1rem; }
 .approved-home-copy h1 { font-size:2.15rem; margin-bottom:1rem; }
 .hero-prose { font-size:.92rem; line-height:1.55; }
 .hero-prose p { margin-bottom:.75rem; }
 .approved-home-image { min-height:0; order:2; }
 .approved-home-image img { aspect-ratio:1.55 / 1; height:auto; }
 .specialties { padding:1rem .7rem 1.15rem; }
 .specialties-heading { font-size:.52rem; line-height:1.35; margin-bottom:.8rem; }
 .specialty-grid { grid-template-columns:repeat(2,1fr); }
 .specialty { border-bottom:1px solid var(--rule); min-height:73px; padding:.35rem; }
 .specialty:nth-child(odd) { border-left:0; }
 .specialty:nth-last-child(-n+2) { border-bottom:0; }
 .specialty-icon { font-size:1.35rem; height:1.35rem; }
 .specialty h2 { font-size:.55rem; margin-top:.35rem; }
 .distillation-feature { gap:1rem; grid-template-columns:1fr; padding:1.5rem 1.3rem; }
 .distillation-feature > img { max-height:165px; }
 .distillation-feature h2 { font-size:1.45rem; margin-bottom:.8rem; }
 .distillation-feature li { font-size:.88rem; margin:.45rem 0; }
}

@media (max-width:760px) {
 .header-inner { min-height:76px; } .menu-toggle { display:block; }
 .site-nav { background:var(--paper); display:none; left:0; padding:1.1rem clamp(1.25rem,4vw,4rem) 1.5rem; position:absolute; right:0; top:76px; z-index:10; }
 .site-nav[data-open='true'] { display:block; } .site-nav ul { align-items:flex-start; flex-direction:column; gap:.85rem; }
 .site-nav a[aria-current='page']::after { bottom:-4px; }
 .home-hero,.about-layout { grid-template-columns:1fr; } .home-hero { gap:2.5rem; padding-top:2.8rem; }
 .hero-art { min-height:0; order:2; } .split-heading,.home-contact { grid-template-columns:1fr; }
 .home-contact { align-items:start; } .project-list a { font-size:1.65rem; }
 .page-intro { padding-top:2.8rem; } .portrait-frame { aspect-ratio:4 / 5; min-height:0; position:relative; top:auto; }
 .service { grid-template-columns:1fr; gap:.7rem; } .clients { grid-template-columns:1fr; }
 .clients li:nth-child(even) { padding-left:0; } .distillation,.footer-definition { grid-template-columns:1fr; gap:1.3rem; }
 .contact-card { grid-template-columns:1fr; } .footer-bottom { flex-direction:column; gap:.55rem; }
}
@media (prefers-reduced-motion:no-preference) { .reveal { animation:reveal .65s ease both; } @keyframes reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } } }
@media print { .site-header,.site-footer,.button { display:none; } body { background:#fff; color:#000; } }

/* Homepage locked to the approved reference layout. */
.approved-home { font-family:"Cormorant Garamond", Georgia, serif; }
.approved-home .approved-header { border-bottom:1px solid var(--rule); }
.approved-home .header-inner { max-width:1180px; min-height:104px; padding-left:2.4rem; padding-right:2.4rem; }
.approved-home .brand { font-family:"Cormorant Garamond", Georgia, serif; }
.approved-home .brand-main { font-size:2.25rem; font-weight:500; letter-spacing:.14em; line-height:.9; }
.approved-home .brand-sub { font-family:"Cormorant Garamond", Georgia, serif; font-size:1rem; font-weight:500; letter-spacing:.38em; margin-top:.65rem; }
.approved-home .site-nav ul { gap:2.8rem; }
.approved-home .site-nav a { font-family:"Cormorant Garamond", Georgia, serif; font-size:.9rem; font-weight:500; letter-spacing:.04em; }
.approved-home .site-nav a[aria-current='page']::after { bottom:-14px; height:2px; }
.approved-home-hero { display:grid; grid-template-columns:35% 65%; margin:0 auto; max-width:1180px; min-height:514px; }
.approved-home-copy { align-self:start; padding:1.45rem 2.4rem 2.7rem; }
.approved-home-copy .eyebrow { color:var(--ink); font:500 .75rem "Cormorant Garamond", Georgia, serif; letter-spacing:.17em; margin:0 0 2.2rem; }
.approved-home-copy .eyebrow span { color:var(--brass); padding:0 .5rem; }
.approved-home-copy h1 { font:500 4rem/1.02 "Cormorant Garamond", Georgia, serif; letter-spacing:-.045em; margin:0 0 1.7rem; }
.hero-prose { font:400 1.12rem/1.45 "Cormorant Garamond", Georgia, serif; max-width:390px; }
.hero-prose p { margin:0 0 1rem; }
.approved-home .button { border:0; font:500 .86rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:.08em; padding:1rem 1.25rem; }
.approved-home .button-solid { background:var(--ink); color:var(--paper); margin-top:.55rem; }
.approved-home .button-solid::after { font-size:1.1em; }
.approved-home-image { margin:0; min-height:514px; overflow:hidden; }
.approved-home-image img { height:100%; object-fit:cover; object-position:center; width:100%; }
.specialties { border-bottom:1px solid var(--rule); border-top:1px solid var(--rule); margin:0 auto; max-width:1180px; padding:1rem 2.4rem 2.55rem; }
.specialties-heading { color:var(--ink); font:500 .76rem "Cormorant Garamond", Georgia, serif; letter-spacing:.15em; margin:0 0 1.3rem; text-align:center; text-transform:uppercase; }
.specialty-grid { display:grid; grid-template-columns:repeat(6,1fr); }
.specialty { align-items:center; border-left:1px solid var(--rule); display:flex; flex-direction:column; min-height:83px; padding:.05rem .55rem; text-align:center; }
.specialty:first-child { border-left:0; }
.specialty svg { fill:none; height:2.25rem; stroke:var(--ink); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.35; width:2.25rem; }
.specialty-original-icon { display:block; height:50px; object-fit:cover; width:65px; }
.specialty h2 { font:500 .75rem/1.35 "Cormorant Garamond", Georgia, serif; letter-spacing:.02em; margin:.45rem 0 0; text-transform:uppercase; }
.distillation-feature { align-items:center; display:grid; gap:2.6rem; grid-template-columns:38% 62%; margin:0 auto; max-width:1180px; padding:2.5rem 4rem 3rem; }
.distillation-feature > img { max-height:205px; object-fit:contain; width:100%; }
.distillation-feature > .distillation-apparatus-image { display:block; height:auto; justify-self:center; margin-inline:auto; max-height:none; max-width:450px; object-fit:contain; width:min(100%, 450px); }
.apparatus-reference { height:205px; overflow:hidden; position:relative; width:100%; }
.apparatus-reference img { left:-20px; max-width:none; position:absolute; top:-790px; width:1536px; }
.distillation-feature h2 { font:500 2rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:.13em; margin:0 0 1.25rem; }
.distillation-feature h2 em { font-size:.52em; font-weight:400; letter-spacing:0; }
.distillation-feature li { font:400 1.1rem/1.55 "Cormorant Garamond", Georgia, serif; margin:.85rem 0; padding-left:1.9rem; }
.distillation-feature li::before { font:500 1.15rem "Cormorant Garamond", Georgia, serif; }
.approved-home .site-footer { border-top:1px solid var(--rule); }
.approved-home .footer-bottom { font-family:"Cormorant Garamond", Georgia, serif; font-size:.7rem; letter-spacing:.12em; max-width:1180px; padding-left:2.4rem; padding-right:2.4rem; }

@media (max-width:760px) {
 .approved-home .header-inner { min-height:69px; padding-left:1.35rem; padding-right:1.35rem; }
 .approved-home .brand-main { font-size:1.38rem; letter-spacing:.13em; }
 .approved-home .brand-sub { font-size:.6rem; letter-spacing:.3em; margin-top:.36rem; }
 .approved-home .menu-toggle { font-family:"Cormorant Garamond", Georgia, serif; font-size:.9rem; }
 .approved-home .site-nav { top:69px; }
 .approved-home-hero { grid-template-columns:1fr; min-height:0; }
 .approved-home-copy { padding:1rem 1.35rem 1.25rem; }
 .approved-home-copy .eyebrow { font-size:.62rem; margin-bottom:1rem; }
 .approved-home-copy h1 { font-size:2.45rem; margin-bottom:1rem; }
 .hero-prose { font-size:1.07rem; line-height:1.5; max-width:none; }
 .hero-prose p { margin-bottom:1rem; }
 .approved-home .button { font-size:.78rem; margin-top:.2rem; padding:.9rem 1rem; }
 .approved-home-image { min-height:0; }
 .approved-home-image img { aspect-ratio:1.58 / 1; height:auto; }
 .specialties { padding:1rem .7rem 1.1rem; }
 .specialties-heading { font-size:.58rem; line-height:1.2; margin:.15rem 0 .85rem; }
 .specialty-grid { grid-template-columns:repeat(2,1fr); }
 .specialty { border-bottom:1px solid var(--rule); min-height:71px; padding:.3rem; }
 .specialty:nth-child(odd) { border-left:0; }
 .specialty:nth-last-child(-n+2) { border-bottom:0; }
 .specialty svg { height:1.55rem; width:1.55rem; }
 .specialty-original-icon { height:38px; width:49px; }
 .specialty h2 { font-size:.59rem; margin-top:.3rem; }
 .distillation-feature { gap:1rem; grid-template-columns:1fr; padding:1.55rem 1.35rem; }
 .distillation-feature > img { max-height:175px; }
 .apparatus-reference { height:170px; margin:auto; max-width:360px; }
 .apparatus-reference img { left:-8px; top:-790px; width:1536px; }
 .distillation-feature h2 { font-size:1.6rem; margin-bottom:.75rem; }
 .distillation-feature li { font-size:1.02rem; line-height:1.55; margin:.65rem 0; }
 .approved-home .footer-bottom { padding-left:1.35rem; padding-right:1.35rem; }
}

/* About page locked to the approved reference layout. */
.approved-about { font-family:"Cormorant Garamond", Georgia, serif; }
.approved-about .approved-header { border-bottom:1px solid var(--rule); }
.approved-about .header-inner { max-width:1180px; min-height:102px; padding-left:2.9rem; padding-right:2.9rem; }
.approved-about .brand { font-family:"Cormorant Garamond", Georgia, serif; }
.approved-about .brand-main { font-size:2.25rem; font-weight:500; letter-spacing:.14em; line-height:.9; }
.approved-about .brand-sub { font-family:"Cormorant Garamond", Georgia, serif; font-size:1rem; font-weight:500; letter-spacing:.38em; margin-top:.65rem; }
.approved-about .site-nav ul { gap:2.8rem; }
.approved-about .site-nav a { font-family:"Cormorant Garamond", Georgia, serif; font-size:.9rem; font-weight:500; letter-spacing:.04em; }
.approved-about .site-nav a[aria-current='page']::after { bottom:-14px; height:2px; }
.approved-about-hero { display:grid; grid-template-columns:47.5% 52.5%; margin:0 auto; max-width:1180px; min-height:598px; }
.approved-about-copy { padding:2rem 2.9rem 1.8rem; }
.about-kicker,.expectations-kicker { font:500 .76rem "Cormorant Garamond", Georgia, serif; letter-spacing:.12em; margin:0 0 1.3rem; text-transform:uppercase; }
.about-kicker::before,.expectations-kicker::before { background:var(--brass); content:""; display:inline-block; height:1px; margin:0 .8rem .27rem 0; width:27px; }
.approved-about-copy h1 { font:500 2.85rem/1.02 "Cormorant Garamond", Georgia, serif; letter-spacing:-.035em; margin:0 0 1.25rem; }
.approved-about-prose { font:400 1.12rem/1.48 "Cormorant Garamond", Georgia, serif; max-width:510px; }
.approved-about-prose p { margin:0 0 1.15rem; }
.approved-about-prose a { text-underline-offset:3px; }
.approved-about .button { border:0; font:500 .84rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:.08em; margin-top:.45rem; padding:1rem 1.25rem; }
.approved-about .button-solid { background:var(--ink); color:var(--paper); }
.approved-about-image { margin:0; min-height:598px; overflow:hidden; }
.approved-about-image img { height:100%; object-fit:cover; object-position:center 24%; width:100%; }
.expectations { border-bottom:1px solid var(--rule); border-top:1px solid var(--rule); margin:0 auto; max-width:1180px; padding:1rem 2.9rem 1.8rem; }
.expectations-kicker { margin-bottom:1rem; }
.expectation-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.expectation { border-left:1px solid var(--rule); display:grid; gap:.8rem; grid-template-columns:2.35rem 1fr; min-height:91px; padding:.2rem 1.15rem; }
.expectation:first-child { border-left:0; padding-left:0; }
.expectation:last-child { padding-right:0; }
.expectation svg { fill:none; height:2.05rem; stroke:var(--ink); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.35; width:2.05rem; }
.expectation-original-icon { display:block; height:50px; object-fit:cover; width:65px; }
.expectation-tall-icon-wrap { grid-template-columns:4.4rem 1fr; }
.expectation-tall-icon { height:65px; object-fit:contain; width:65px; }
.expectation-standalone-icon { object-fit:contain; object-position:center; }
.expectation h2 { font:500 1.28rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:-.02em; margin:0 0 .35rem; }
.expectation p { font:400 .82rem/1.35 "Cormorant Garamond", Georgia, serif; margin:0; }
.approved-about .distillation-feature { max-width:1180px; }
.approved-about .site-footer { border-top:1px solid var(--rule); }
.approved-about .footer-bottom { font-family:"Cormorant Garamond", Georgia, serif; font-size:.7rem; letter-spacing:.12em; max-width:1180px; padding-left:2.9rem; padding-right:2.9rem; }

@media (max-width:760px) {
 .approved-about .header-inner { min-height:60px; padding-left:1.35rem; padding-right:1.35rem; }
 .approved-about .brand-main { font-size:1.38rem; letter-spacing:.13em; }
 .approved-about .brand-sub { font-size:.6rem; letter-spacing:.28em; margin-top:.33rem; }
 .approved-about .site-nav { top:60px; }
 .approved-about-hero { grid-template-columns:1fr; min-height:0; }
 .approved-about-copy { padding:1rem 1.35rem 1.1rem; }
 .about-kicker { font-size:.6rem; margin-bottom:.65rem; }
 .about-kicker::before { margin-bottom:.2rem; width:21px; }
 .approved-about-copy h1 { font-size:1.9rem; line-height:.98; margin-bottom:.85rem; }
 .approved-about-prose { font-size:1.06rem; line-height:1.55; }
 .approved-about-prose p { margin-bottom:1.15rem; }
 .approved-about .button { font-size:.74rem; margin-top:.05rem; padding:.85rem .95rem; }
 .approved-about-image { min-height:0; }
 .approved-about-image img { aspect-ratio:1.2 / 1; height:auto; object-position:center 25%; }
 .expectations { padding:1rem 1.35rem 1.1rem; }
 .expectations-kicker { font-size:.62rem; margin-bottom:.75rem; }
 .expectation-grid { grid-template-columns:1fr; }
 .expectation { border-left:0; border-top:1px solid var(--rule); gap:.65rem; grid-template-columns:3.6rem 1fr; min-height:0; padding:.7rem 0; }
 .expectation:first-child { border-top:0; padding-top:0; }
 .expectation svg { height:1.55rem; width:1.55rem; }
 .expectation-original-icon { height:38px; width:49px; }
 .expectation-tall-icon { height:52px; width:52px; }
 .expectation h2 { font-size:1.05rem; margin-bottom:.2rem; }
 .expectation p { font-size:.88rem; line-height:1.45; }
 .approved-about .footer-bottom { padding-left:1.35rem; padding-right:1.35rem; }
}

/* Remaining pages share the approved reference typography and header. */
.approved-contact,.approved-services,.approved-work { font-family:"Cormorant Garamond", Georgia, serif; }
.approved-contact .approved-header,.approved-services .approved-header,.approved-work .approved-header { border-bottom:1px solid var(--rule); }
.approved-contact .header-inner,.approved-services .header-inner,.approved-work .header-inner { max-width:1180px; min-height:96px; padding-left:2.6rem; padding-right:2.6rem; }
.approved-contact .brand,.approved-services .brand,.approved-work .brand { font-family:"Cormorant Garamond", Georgia, serif; }
.approved-contact .brand-main,.approved-services .brand-main,.approved-work .brand-main { font-size:2.2rem; font-weight:500; letter-spacing:.14em; line-height:.9; }
.approved-contact .brand-sub,.approved-services .brand-sub,.approved-work .brand-sub { font-family:"Cormorant Garamond", Georgia, serif; font-size:.98rem; font-weight:500; letter-spacing:.37em; margin-top:.62rem; }
.approved-contact .site-nav ul,.approved-services .site-nav ul,.approved-work .site-nav ul { gap:2.8rem; }
.approved-contact .site-nav a,.approved-services .site-nav a,.approved-work .site-nav a { font-family:"Cormorant Garamond", Georgia, serif; font-size:.9rem; font-weight:500; letter-spacing:.04em; }
.approved-contact .site-nav a[aria-current='page']::after,.approved-services .site-nav a[aria-current='page']::after,.approved-work .site-nav a[aria-current='page']::after { bottom:-14px; height:2px; }
.approved-contact .button,.approved-services .button,.approved-work .button { border:0; font:500 .84rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:.08em; padding:1rem 1.25rem; }
.approved-contact .button-solid,.approved-services .button-solid,.approved-work .button-solid { background:var(--ink); color:var(--paper); }
.approved-contact .footer-bottom,.approved-services .footer-bottom,.approved-work .footer-bottom { font-family:"Cormorant Garamond", Georgia, serif; font-size:.7rem; letter-spacing:.12em; max-width:1180px; padding-left:2.6rem; padding-right:2.6rem; }

/* Contact */
.contact-reference { margin:0 auto; max-width:1180px; min-height:890px; padding:5.3rem 1rem 4rem; text-align:center; }
.contact-reference .about-kicker { margin-bottom:1.7rem; }
.contact-reference h1 { font:500 4.1rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:-.04em; margin:0 0 2.7rem; }
.contact-intro { font:400 1.3rem/1.45 "Cormorant Garamond", Georgia, serif; margin:0 auto 3.2rem; max-width:515px; }
.contact-detail { align-items:center; border-bottom:1px solid var(--rule); display:grid; gap:1.8rem; grid-template-columns:62px 1fr; margin:0 auto; max-width:410px; padding:1.7rem 2.1rem; text-align:left; }
.contact-detail svg { fill:none; height:3.6rem; stroke:var(--ink); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.25; width:3.6rem; }
.contact-detail p { font:500 .82rem "Cormorant Garamond", Georgia, serif; letter-spacing:.1em; margin:0 0 .25rem; text-transform:uppercase; }
.contact-detail a,.contact-detail span { font:400 1.28rem "Cormorant Garamond", Georgia, serif; text-decoration:none; }
.contact-close { font:400 1.25rem/1.5 "Cormorant Garamond", Georgia, serif; margin:3rem 0 0; }

/* Services */
.services-reference { display:grid; grid-template-columns:42% 58%; margin:0 auto; max-width:1180px; }
.services-intro { border-right:1px solid var(--rule); padding:2.6rem 2.6rem 3rem; }
.services-intro h1 { font:500 3.25rem/1.02 "Cormorant Garamond", Georgia, serif; letter-spacing:-.045em; margin:0 0 2.5rem; }
.services-intro > p:not(.about-kicker) { font:400 1.2rem/1.48 "Cormorant Garamond", Georgia, serif; max-width:390px; }
.services-intro .button { margin-top:1rem; }
.service-list { padding:0 1rem 0 1.25rem; }
.service-item { border-bottom:1px solid var(--rule); display:grid; gap:1.35rem; grid-template-columns:70px 1fr; min-height:94px; padding:1.05rem 1rem; }
.service-item svg { align-self:start; fill:none; height:3.2rem; stroke:var(--ink); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.25; width:3.2rem; }
.service-original-icon { align-self:start; display:block; height:59px; object-fit:cover; width:70px; }
.storytelling-original-icon { height:70px; object-fit:contain; width:70px; }
.service-item h2 { font:500 1.48rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:-.02em; margin:0 0 .45rem; }
.service-item p { font:400 .92rem/1.35 "Cormorant Garamond", Georgia, serif; margin:0; max-width:500px; }
.approach { border-bottom:1px solid var(--rule); border-top:1px solid var(--rule); margin:0 auto; max-width:1180px; padding:1.15rem 2.6rem 1.55rem; }
.approach-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.approach-grid article { border-left:1px solid var(--rule); padding:0 .9rem; }
.approach-grid article:first-child { border-left:0; padding-left:0; }
.approach-grid h2 { font:500 1.15rem/1 "Cormorant Garamond", Georgia, serif; margin:0 0 .6rem; }
.approach-grid p { font:400 .82rem/1.4 "Cormorant Garamond", Georgia, serif; margin:0; }
.approved-services .distillation-feature { max-width:1180px; }

/* Selected work */
.work-reference { display:grid; grid-template-columns:1fr .75fr; margin:0 auto; max-width:1180px; padding:2.7rem 3.3rem 2.3rem; }
.work-heading h1 { font:500 3.55rem/1 "Cormorant Garamond", Georgia, serif; letter-spacing:-.045em; margin:0 0 1.25rem; }
.work-heading > p:last-child { font:400 1.1rem/1.4 "Cormorant Garamond", Georgia, serif; max-width:500px; }
.work-apparatus { align-self:center; text-align:center; }
.work-apparatus-image { display:block; height:auto; margin:0 auto; max-width:440px; width:100%; }
.work-apparatus .apparatus-reference { height:180px; max-width:440px; }
.clients-panel { grid-column:1 / -1; margin-top:1.75rem; }
.client-grid { display:grid; gap:0 3.5rem; grid-template-columns:repeat(2,1fr); list-style:none; margin:0; padding:0; }
.client-grid li { border-bottom:1px solid var(--rule); font:400 1.18rem/1.3 "Cormorant Garamond", Georgia, serif; padding:.5rem .5rem; }
.work-testimonials { border-top:1px solid var(--rule); margin:0 auto; max-width:1180px; padding:1.2rem 3.3rem 2.4rem; }
.testimonial-grid { display:grid; gap:1.8rem 2.5rem; grid-template-columns:repeat(2,1fr); }
.testimonial-grid blockquote { border-left:1px solid var(--rule); margin:0; padding-left:1.9rem; }
.testimonial-grid p { font:400 1.05rem/1.38 "Cormorant Garamond", Georgia, serif; margin:0 0 .8rem; }
.testimonial-grid cite { font:500 .72rem/1.3 "Cormorant Garamond", Georgia, serif; letter-spacing:.1em; text-transform:uppercase; }
.work-philosophy { border-top:1px solid var(--rule); margin:0 auto; max-width:1180px; padding:1.2rem 3.3rem 2.7rem; }
.work-philosophy > p:not(.expectations-kicker) { font:400 1.2rem/1.4 "Cormorant Garamond", Georgia, serif; margin:0; max-width:780px; }
.work-philosophy h2 { font:500 2.15rem/1.05 "Cormorant Garamond", Georgia, serif; margin:1rem 0 1.3rem; }

@media (max-width:760px) {
 .approved-contact .header-inner,.approved-services .header-inner,.approved-work .header-inner { min-height:60px; padding-left:1.35rem; padding-right:1.35rem; }
 .approved-contact .brand-main,.approved-services .brand-main,.approved-work .brand-main { font-size:1.38rem; }
 .approved-contact .brand-sub,.approved-services .brand-sub,.approved-work .brand-sub { font-size:.6rem; margin-top:.33rem; }
 .approved-contact .site-nav,.approved-services .site-nav,.approved-work .site-nav { top:60px; }
 .contact-reference { min-height:0; padding:3rem 1.35rem 4rem; }
 .contact-reference h1 { font-size:2.7rem; margin-bottom:1.8rem; }
 .contact-intro { font-size:1.12rem; line-height:1.55; margin-bottom:2.2rem; }
 .contact-detail { max-width:350px; padding:1.35rem .5rem; }
 .contact-close { font-size:1.1rem; line-height:1.55; margin-top:2.4rem; }
 .services-reference { grid-template-columns:1fr; }
 .services-intro { border-bottom:1px solid var(--rule); border-right:0; padding:1.4rem 1.35rem 1.7rem; }
 .services-intro h1 { font-size:2.35rem; margin-bottom:1.25rem; }
 .services-intro > p:not(.about-kicker) { font-size:1.1rem; line-height:1.55; }
 .service-list { padding:0 1.35rem; }
 .service-item { border-left:0; border-right:0; gap:1rem; grid-template-columns:48px 1fr; min-height:0; padding:1rem 0; }
 .service-item:first-child { border-top:0; }
 .service-item:last-child { border-bottom:0; }
 .service-item svg { height:2.45rem; width:2.45rem; }
 .service-original-icon { height:40px; width:48px; }
 .storytelling-original-icon { height:48px; width:48px; }
 .service-item h2 { font-size:1.22rem; }
 .service-item p { font-size:.96rem; line-height:1.45; }
 .approach { padding:1rem 1.35rem; }
 .approach-grid { grid-template-columns:repeat(2,1fr); }
 .approach-grid article { border-bottom:1px solid var(--rule); padding:.7rem; }
 .approach-grid article:first-child { padding-left:0; }
 .work-reference { grid-template-columns:1fr; padding:1.45rem 1.35rem; }
 .work-heading h1 { font-size:2.5rem; }
 .work-heading > p:last-child { font-size:1.08rem; line-height:1.5; }
 .work-apparatus { margin:1rem 0; }
 .work-apparatus .apparatus-reference { height:150px; max-width:330px; }
 .clients-panel { margin-top:.5rem; }
 .client-grid { grid-template-columns:1fr; }
 .client-grid li { font-size:1.06rem; line-height:1.45; padding:.45rem 0; }
 .work-testimonials,.work-philosophy { padding:1rem 1.35rem 1.6rem; }
 .testimonial-grid { grid-template-columns:1fr; }
 .testimonial-grid blockquote { padding-left:1rem; }
 .testimonial-grid p { font-size:1.08rem; line-height:1.5; }
 .work-philosophy > p:not(.expectations-kicker) { font-size:1.1rem; line-height:1.5; }
 .work-philosophy h2 { font-size:1.75rem; }
 .approved-contact .footer-bottom,.approved-services .footer-bottom,.approved-work .footer-bottom { padding-left:1.35rem; padding-right:1.35rem; }
}
