/* ============================================================
   BEYOND GLUCK — Global Stylesheet
   Header & footer structure
   ============================================================ */

:root{
  --paper:#f3f0e9;
  --paper-2:#eae5db;
  --ink:#161412;
  --ink-2:#0f0d0c;
  --ink-soft:#6b665e;
  --line:rgba(22,20,18,.14);
  --line-dk:rgba(243,240,233,.14);
  --accent:#c8492b;        /* vermilion */
  --gold:#c9a24b;          /* "text-gold" equivalent from theme */
  --accent-2:#1f3a34;      /* deep forest */
  --serif:"Times New Roman",Georgia,serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--paper)}

/* utility */
.container{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.flex-box{display:flex}
.align-center{align-items:center}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.text-center{text-center}
.text-white{color:var(--paper)}
.text-gold{color:var(--gold)}
.uppercase{text-transform:uppercase}
.w-100{width:100%}
.text-small{font-size:12px;letter-spacing:.08em}

/* ============================================================
   HEADER  (fixed, centered logo, slide-out menu — from theme)
   ============================================================ */
.header{position:fixed;top:0;left:0;right:0;z-index:100}
.header-fixed{transition:background .5s ease,padding .5s ease,box-shadow .5s ease;padding:20px 0}
.header-fixed.stick{background:rgba(243,240,233,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding:12px 0}
.header-wrapper{padding:0 clamp(20px,5vw,64px)}
.header-left,.header-right{flex:1;display:flex;align-items:center}
.header-right{justify-content:flex-end}
.header-center{flex:0 0 auto}

.project-drop-header{cursor:pointer;font-size:13px;letter-spacing:.16em;text-transform:uppercase;position:relative;padding-bottom:4px}
.project-drop-header::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .35s}
.project-drop-header:hover::after{width:100%}

.header-logo{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);font-weight:400;letter-spacing:.02em;white-space:nowrap}
.header-logo .brand-mark{font-style:normal}
.header-logo em{color:var(--accent);font-style:italic}

.menu-toggle{cursor:pointer;align-items:center;gap:12px}
.menu-toggle p{font-size:13px;letter-spacing:.16em}
.menu-bars{display:flex;flex-direction:column;gap:6px;width:26px}
.menu-bars span{height:1.5px;background:var(--ink);width:100%;transition:.4s;transform-origin:center}
.menu-toggle:hover .menu-bars span:first-child{width:70%}

/* slide-out main menu */
.main-menu-box{position:fixed;top:0;right:-460px;width:min(460px,90vw);height:100vh;background:var(--ink);color:var(--paper);z-index:120;
  padding:110px clamp(30px,5vw,56px) 40px;transition:right .6s cubic-bezier(.7,0,.2,1);overflow-y:auto}
.main-menu-box.open{right:0}
.menu-overlay{position:fixed;inset:0;background:rgba(15,13,12,.55);opacity:0;visibility:hidden;transition:.5s;z-index:110}
.menu-overlay.open{opacity:1;visibility:visible}
.menu-close{position:absolute;top:34px;right:clamp(30px,5vw,56px);cursor:pointer;gap:12px;align-items:center}
.menu-close span{position:absolute;right:0;width:22px;height:1.5px;background:var(--gold)}
.menu-close span:first-of-type{transform:rotate(45deg)}
.menu-close span:last-of-type{transform:rotate(-45deg)}
.menu-close p{font-size:12px;letter-spacing:.16em;margin-right:32px}

.primary-menu{list-style:none}
.primary-menu li{border-bottom:1px solid var(--line-dk)}
.primary-menu li a{display:block;padding:18px 0;font-family:var(--serif);font-size:clamp(24px,3.4vw,34px);transition:color .35s,padding-left .35s}
.primary-menu li a:hover{color:var(--gold);padding-left:12px}

.main-menu-footer{margin-top:44px}
.main-menu-footer>p{font-size:12px;letter-spacing:.18em;color:var(--ink-soft);margin-bottom:16px}
.main-menu-footer a{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:15px;color:var(--paper)}
.main-menu-footer a:hover{color:var(--gold)}
.mm-ico{width:16px;height:16px;opacity:.8}

/* ============================================================
   HERO + SHARED SECTION STYLES
   ============================================================ */
.page-hero{position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:140px 20px 90px;
  background:radial-gradient(120% 120% at 50% 25%,#f7f4ee 0%,var(--paper) 55%,var(--paper-2) 100%)}
.page-hero .label{color:var(--accent);font-size:12px;letter-spacing:.28em;margin-bottom:26px}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,8.4vw,120px);line-height:.94;letter-spacing:-.015em}
.page-hero h1 em{font-style:italic;color:var(--accent)}
.page-hero p{max-width:600px;margin:26px auto 0;color:var(--ink-soft);font-size:clamp(14px,1.5vw,16px);line-height:1.65}

.wrap{max-width:1280px;margin:0 auto;padding:clamp(80px,12vh,160px) clamp(20px,5vw,64px)}
.label{font-size:12px;letter-spacing:.26em;color:var(--accent);margin-bottom:26px}
.big{font-family:var(--serif);font-weight:400;font-size:clamp(32px,5.4vw,74px);line-height:1.02;letter-spacing:-.015em}
.big em{font-style:italic;color:var(--accent)}
.lead{max-width:640px;margin-top:26px;color:var(--ink-soft);font-size:16px;line-height:1.7}

.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

.btn{display:inline-block;font-size:12.5px;letter-spacing:.14em;padding:15px 30px;border-radius:100px;cursor:pointer;
  transition:transform .3s,background .4s,color .4s;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--sans)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:var(--accent);border-color:var(--accent)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}

/* ============================================================
   FOOTER  (dark — structure from theme)
   ============================================================ */
.footer .footer-wrapper{background:var(--ink);color:var(--paper);padding:70px 0 30px}
.footer .container{max-width:1280px}
.footer-top{align-items:center;padding-bottom:50px;border-bottom:1px solid var(--line-dk)}
.footer-top-left,.footer-top-right,.footer-top-center{flex:1}
.company-brochure{display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:.1em}
.pdf-box{width:48px;height:48px;border:1px solid var(--line-dk);border-radius:50%;font-size:12px;letter-spacing:.06em;flex:0 0 auto;transition:.4s}
.company-brochure:hover .pdf-box{background:var(--accent);border-color:var(--accent)}
.footer-logo{font-family:var(--serif);font-size:26px;text-align:center}
.footer-logo em{color:var(--accent);font-style:italic}
.back-to-top{gap:14px;font-size:13px;letter-spacing:.14em}
.btp-img{width:40px;height:40px;border:1px solid var(--line-dk);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.4s}
.back-to-top:hover .btp-img{background:var(--gold);border-color:var(--gold);color:var(--ink)}

.footer-main{padding:56px 0}
.footer-main>.flex-box{gap:60px;flex-wrap:wrap}
.footer-menu-wrapper{flex:1 1 480px;gap:30px}
.footer-menu-box{flex:1;min-width:130px}
.footer-menu-title{font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;color:var(--gold)}
.footer-menu-sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:16px 0 8px}
.footer-menu{list-style:none}
.footer-menu li a{display:block;padding:5px 0;font-size:14px;color:rgba(243,240,233,.78);transition:.3s}
.footer-menu li a:hover{color:var(--paper);padding-left:6px}

.footer-contact-form{flex:1 1 380px}
.footer-contact-form .footer-menu-title{margin-bottom:22px}
.ff-row{margin-bottom:14px}
.ff-row input,.ff-row textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-dk);color:var(--paper);
  padding:10px 0;font-size:14px;font-family:var(--sans)}
.ff-row textarea{resize:vertical;min-height:60px}
.ff-row input::placeholder,.ff-row textarea::placeholder{color:var(--ink-soft)}
.ff-row input:focus,.ff-row textarea:focus{outline:none;border-color:var(--gold)}
.ff-submit{margin-top:10px;background:var(--paper);color:var(--ink);border:none;padding:13px 30px;border-radius:100px;
  font-size:12px;letter-spacing:.14em;cursor:pointer;transition:.4s;text-transform:uppercase}
.ff-submit:hover{background:var(--accent);color:var(--paper)}

.footer-social-links{gap:12px;margin-top:20px}
.footer-social-link{width:42px;height:42px;border:1px solid var(--line-dk);border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:13px;transition:.4s;color:var(--paper)}
.footer-social-link:hover{background:var(--accent);border-color:var(--accent)}

.footer-project-details{gap:24px;flex-wrap:wrap;padding:40px 0;border-top:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk)}
.footer-project-details .w-25{flex:1 1 220px}
.fpd-box h5{font-size:14px;font-weight:500;margin-bottom:8px}
.fpd-box p{font-size:11.5px;line-height:1.6;color:var(--ink-soft);letter-spacing:.03em}

.footer-bottom{padding-top:26px;flex-wrap:wrap;gap:14px}
.footer-bottom ul{list-style:none;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.footer-bottom li,.footer-bottom p,.footer-bottom a{font-size:12px;color:var(--ink-soft);letter-spacing:.04em}
.footer-bottom a:hover{color:var(--paper)}
.design-credit a{color:var(--gold)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:990px){
  .hide-990{display:none}
  .footer-top-left,.footer-top-center{flex:1 1 100%;text-align:center;margin-bottom:24px}
  .footer-top-center{order:-1}
  .company-brochure{justify-content:center}
}
@media(max-width:760px){
  .footer-menu-wrapper{flex-direction:column;gap:36px}
  .footer-main>.flex-box{flex-direction:column}
}
@media(max-width:600px){
  .hide-600{display:none}
}
@media(prefers-reduced-motion:reduce){
  .reveal{transition:none;opacity:1;transform:none}
}

/* ============================================================
   HOMEPAGE HERO CANVAS
   ============================================================ */
#hero{position:relative;height:100vh;min-height:640px;width:100%;overflow:hidden;
  background:radial-gradient(120% 120% at 50% 30%,#f7f4ee 0%,var(--paper) 55%,var(--paper-2) 100%)}
#stage{position:absolute;inset:0;display:block}
.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 20px;z-index:3}
.word-run{font-family:var(--serif);font-size:clamp(30px,6vw,74px);font-style:italic;letter-spacing:.01em;opacity:0;transition:opacity .5s ease;height:1.15em;color:var(--accent)}
.hero-final{opacity:0;transition:opacity 1.3s ease;transform:translateY(16px)}
.hero-final.show{opacity:1;transform:none}
.hero-head{font-family:var(--serif);font-weight:400;font-size:clamp(42px,8.6vw,124px);line-height:.94;letter-spacing:-.015em}
.hero-head em{font-style:italic;color:var(--accent)}
.hero-sub{max-width:580px;margin:26px auto 0;font-size:clamp(13px,1.4vw,15.5px);line-height:1.65;color:var(--ink-soft)}
.hero-ctas{margin-top:36px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;pointer-events:auto}
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.24em;color:var(--ink-soft);opacity:0;transition:opacity 1s ease .5s;z-index:4}
.scroll-hint.show{opacity:1}
.scroll-hint span{display:block;width:1px;height:36px;background:var(--ink-soft);margin:12px auto 0;transform-origin:top;animation:drip 2.2s ease-in-out infinite}
@keyframes drip{0%,100%{transform:scaleY(.3);opacity:.3}50%{transform:scaleY(1);opacity:1}}
.skip{position:absolute;bottom:28px;right:clamp(20px,5vw,64px);font-size:11px;letter-spacing:.16em;color:var(--ink-soft);background:none;border:none;cursor:pointer;z-index:5}
.skip:hover{color:var(--ink)}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--paper)}
.marquee-track{display:flex;gap:60px;white-space:nowrap;padding:18px 0;font-family:var(--serif);font-size:clamp(18px,2.4vw,30px);font-style:italic;animation:scroll 26s linear infinite;color:var(--ink);width:max-content}
.marquee-track span{opacity:.55}
.marquee-track .dot{color:var(--accent);font-style:normal}
@keyframes scroll{to{transform:translateX(-50%)}}

/* section backgrounds */
.bg-alt{background:var(--paper-2)}
.bg-forest{background:var(--accent-2);color:var(--paper)}
.bg-forest .label{color:rgba(243,240,233,.7)}
.bg-ink{background:var(--ink);color:var(--paper)}

/* capabilities list */
.caps{margin-top:70px;border-top:1px solid var(--line)}
.cap{display:grid;grid-template-columns:.5fr 1.4fr 2fr;gap:20px;align-items:baseline;padding:32px 0;border-bottom:1px solid var(--line);transition:padding-left .5s cubic-bezier(.2,.7,.2,1);cursor:default;position:relative;overflow:hidden}
.cap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(200,73,43,.08),transparent);transition:width .5s ease}
.cap:hover{padding-left:24px}
.cap:hover::before{width:100%}
.cap-i{font-size:13px;color:var(--ink-soft)}
.cap-t{font-family:var(--serif);font-size:clamp(28px,3.8vw,48px);transition:color .4s}
.cap:hover .cap-t{color:var(--accent)}
.cap-d{font-size:14px;color:var(--ink-soft);line-height:1.5}
@media(max-width:760px){.cap{grid-template-columns:1fr;gap:8px}.cap-i{display:none}}

/* approach journey */
.journey{margin-top:70px}
.step{display:flex;gap:clamp(20px,6vw,90px);align-items:flex-start;padding:46px 0;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:none}
.step-n{font-family:var(--serif);font-style:italic;font-size:clamp(52px,9vw,128px);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--ink-soft);transition:-webkit-text-stroke .6s,color .6s;min-width:1.5em}
.step.in .step-n{color:rgba(200,73,43,.12);-webkit-text-stroke:1px var(--accent)}
.step-b h3{font-family:var(--serif);font-size:clamp(28px,3.6vw,44px);margin-bottom:12px;font-weight:400}
.step-b p{color:var(--ink-soft);max-width:480px;line-height:1.6;font-size:15px}

/* stats */
.stat-grid{margin-top:60px;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
@media(max-width:820px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:44px 30px}}
.stat h3{font-family:var(--serif);font-size:clamp(44px,6vw,88px);line-height:1;font-weight:400}
.stat p{margin-top:12px;font-size:13px;letter-spacing:.05em;color:rgba(243,240,233,.72);line-height:1.5}
.stat-note{margin-top:40px;font-size:12px;letter-spacing:.06em;color:rgba(243,240,233,.45);font-style:italic}
.bg-alt .stat-note,section:not(.bg-forest) .stat-note{color:var(--ink-soft)}

/* clients chips */
.clients{margin-top:70px;display:flex;flex-wrap:wrap;gap:14px 12px}
.chip{border:1px solid var(--line);border-radius:100px;padding:13px 24px;font-size:14px;color:var(--ink-soft);transition:.4s}
.chip:hover{border-color:var(--accent);color:var(--paper);background:var(--accent);transform:translateY(-4px)}

/* testimonial */
#testi{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quote{font-family:var(--serif);font-size:clamp(28px,4.2vw,58px);line-height:1.16;letter-spacing:-.01em;margin-top:10px}
.quote em{font-style:italic;color:var(--accent)}
.attr{margin-top:36px;font-size:13px;letter-spacing:.14em;color:var(--ink-soft)}

/* industries */
.inds{margin-top:58px;display:flex;flex-wrap:wrap;gap:6px 30px}
.ind{font-family:var(--serif);font-size:clamp(32px,5.4vw,70px);color:transparent;-webkit-text-stroke:1px var(--ink-soft);transition:.4s;cursor:default;line-height:1.12}
.ind:hover{color:var(--accent);-webkit-text-stroke:1px var(--accent)}

/* final cta */
.end-head{font-family:var(--serif);font-size:clamp(40px,8vw,110px);line-height:.98;letter-spacing:-.015em;font-weight:400}
.end-head em{font-style:italic;color:var(--accent)}
.btn.solid.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn.solid.light:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}
.contact-line{margin-top:44px;display:flex;gap:32px;justify-content:center;flex-wrap:wrap;font-size:14px;letter-spacing:.05em;color:rgba(243,240,233,.7)}
.contact-line a{color:var(--paper);border-bottom:1px solid rgba(243,240,233,.25);padding-bottom:3px}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.team-grid{margin-top:70px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
@media(max-width:820px){.team-grid{grid-template-columns:1fr;gap:50px}}
.member-photo{aspect-ratio:3/4;background:linear-gradient(160deg,var(--paper-2),#ddd7ca);display:flex;align-items:center;justify-content:center;margin-bottom:22px;overflow:hidden;transition:transform .6s}
.member:hover .member-photo{transform:scale(1.02)}
.member-photo span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.member h3{font-family:var(--serif);font-size:26px;font-weight:400}
.member-role{color:var(--accent);font-size:13px;letter-spacing:.06em;margin:6px 0 12px}
.member-bio{color:var(--ink-soft);font-size:14px;line-height:1.6}

.timeline{margin-top:70px;border-left:1px solid var(--line);padding-left:clamp(24px,5vw,60px)}
.tl-item{display:flex;gap:clamp(20px,5vw,60px);padding:34px 0;border-bottom:1px solid var(--line);position:relative}
.tl-item:last-child{border-bottom:none}
.tl-item::before{content:"";position:absolute;left:calc(-1 * clamp(24px,5vw,60px) - 5px);top:44px;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.tl-year{font-family:var(--serif);font-size:clamp(26px,3.4vw,40px);color:var(--accent);min-width:2.4em}
.tl-body h4{font-family:var(--serif);font-size:22px;font-weight:400;margin-bottom:8px}
.tl-body p{color:var(--ink-soft);font-size:14px;line-height:1.6;max-width:520px}

.principles-grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:760px){.principles-grid{grid-template-columns:1fr}}
.principle{background:var(--paper);padding:44px 34px;transition:background .4s}
.principle:hover{background:var(--paper-2)}
.principle h3{font-family:var(--serif);font-size:26px;font-weight:400;margin-bottom:12px}
.principle p{color:var(--ink-soft);font-size:14px}

.smiles-head{font-family:var(--serif);font-size:clamp(48px,10vw,140px);line-height:.9;font-weight:400}
.smiles-head em{font-style:italic;color:var(--accent)}
.smiles-copy{max-width:600px;margin:34px auto 0;color:rgba(243,240,233,.8);font-size:16px;line-height:1.7}

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.svc{padding:70px 0;border-bottom:1px solid var(--line)}
.svc:first-child{padding-top:20px}
.svc-head{display:flex;align-items:baseline;gap:24px;margin-bottom:44px}
.svc-n{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,28px);color:var(--accent)}
.svc-title{font-family:var(--serif);font-size:clamp(30px,4.6vw,60px);font-weight:400;line-height:1}
.svc-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
@media(max-width:900px){.svc-cols{grid-template-columns:repeat(2,1fr);gap:34px 24px}}
@media(max-width:520px){.svc-cols{grid-template-columns:1fr}}
.svc-col h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.svc-col ul{list-style:none}
.svc-col li{font-size:14.5px;color:var(--ink);padding:6px 0;border-bottom:1px solid var(--line);transition:padding-left .3s,color .3s}
.svc-col li:hover{padding-left:8px;color:var(--accent)}

.chain{margin-top:44px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 10px;max-width:800px;margin-left:auto;margin-right:auto}
.chain span{font-size:13px;letter-spacing:.08em;color:rgba(243,240,233,.65);padding:8px 16px;border:1px solid var(--line-dk);border-radius:100px;transition:.4s}
.chain span:hover{color:var(--paper);border-color:var(--gold)}

/* ============================================================
   WORK PAGE
   ============================================================ */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px}
@media(max-width:760px){.work-grid{grid-template-columns:1fr}}
.work-card{display:block;group:card}
.work-thumb{aspect-ratio:16/10;background:linear-gradient(150deg,var(--paper-2),#dcd6c9);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:18px}
.work-thumb span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);transition:transform .6s}
.work-card:hover .work-thumb span{transform:scale(1.05)}
.work-thumb{position:relative}
.work-thumb::after{content:"";position:absolute;inset:0;background:var(--accent);opacity:0;transition:opacity .5s}
.work-card:hover .work-thumb::after{opacity:.08}
.work-meta h3{font-family:var(--serif);font-size:28px;font-weight:400;transition:color .3s}
.work-card:hover .work-meta h3{color:var(--accent)}
.work-meta p{color:var(--ink-soft);font-size:13px;letter-spacing:.04em;margin-top:6px}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(40px,6vw,90px)}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:56px}}
.ci-block{padding:24px 0;border-bottom:1px solid var(--line)}
.ci-block h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.ci-block a,.ci-block p{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);font-weight:400}
.ci-social{display:flex;flex-wrap:wrap;gap:16px}
.ci-social a{font-family:var(--sans);font-size:14px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:2px}
.ci-social a:hover{color:var(--accent)}

.cf-title{font-family:var(--serif);font-size:clamp(28px,4vw,44px);font-weight:400;margin-bottom:34px}
.cf-row{margin-bottom:24px;display:flex;flex-direction:column}
.cf-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:560px){.cf-two{grid-template-columns:1fr}}
.cf-row label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}
.cf-row input,.cf-row textarea,.cf-row select{background:transparent;border:none;border-bottom:1px solid var(--line);padding:10px 0;font-size:16px;font-family:var(--sans);color:var(--ink)}
.cf-row input:focus,.cf-row textarea:focus,.cf-row select:focus{outline:none;border-color:var(--accent)}
.cf-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.cf-chip{cursor:pointer}
.cf-chip input{display:none}
.cf-chip span{display:inline-block;padding:9px 18px;border:1px solid var(--line);border-radius:100px;font-size:13px;color:var(--ink-soft);transition:.3s}
.cf-chip input:checked + span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cf-submit{margin-top:14px}
