:root{--charcoal:#1A1A1A;--sage:#7A8F7E;--stone:#D9D6CD;--sand:#F7F6F2;--clay:#B89B7A;--white:#fff;--muted:#666760;--line:#D9D6CD}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--charcoal);font-family:"Montserrat",sans-serif;font-size:16px;line-height:1.6}
.nav{height:88px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,246,242,.95);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(26,26,26,.1);backdrop-filter:blur(12px)}
.logo{display:flex;flex-wrap:wrap;width:148px;font-size:27px;font-weight:700;line-height:1;color:var(--charcoal);text-decoration:none;letter-spacing:-1.7px}
.logo span{color:var(--sage)}
.logo small{width:100%;font-size:7px;letter-spacing:2px;margin-top:7px;white-space:nowrap}
nav{display:flex;align-items:center;gap:32px}
nav a,footer a{color:var(--charcoal);font-size:13px;text-decoration:none}
.nav-cta{padding:10px 18px;border:1px solid var(--charcoal)}
.menu{display:none;background:none;border:0;font:600 14px "Montserrat"}
.hero{min-height:calc(100vh - 88px);position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:clamp(55px,8vw,120px) clamp(24px,5vw,80px);overflow:hidden}
.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,246,242,.98) 0%,rgba(247,246,242,.84) 37%,rgba(247,246,242,.05) 68%),url('assets/fewandco-hero.png') center/cover no-repeat;z-index:-1;filter:saturate(.68)}
.hero-copy{max-width:700px}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;color:var(--sage);margin:0 0 18px}
h1,h2,h3{font-family:"Montserrat",sans-serif;line-height:1.08;letter-spacing:-.045em;margin:0}
h1{font-size:clamp(50px,6vw,90px);font-weight:600}
h1 em{font-style:normal;color:var(--sage)}
.lead{font-size:clamp(18px,1.7vw,22px);max-width:650px;color:#53554f;margin:30px 0 34px}
.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;border:0;padding:15px 24px;font:600 14px "Montserrat";cursor:pointer;text-decoration:none}
.primary{background:var(--charcoal);color:white}
.text-link{color:var(--charcoal);font-weight:600;text-decoration:none}
.trust{position:absolute;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);bottom:28px;padding-top:18px;border-top:1px solid rgba(26,26,26,.24);display:flex;gap:35px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.trust span:before{content:"·";color:var(--sage);font-size:22px;margin-right:9px}
.collections{display:grid;grid-template-columns:repeat(4,1fr);background:white;border-bottom:1px solid var(--line);padding:55px clamp(24px,5vw,80px)}
.collections>div{display:flex;flex-direction:column;align-items:center;text-align:center;border-right:1px solid var(--line);padding:0 20px}
.collections>div:last-child{border-right:0}
.collection-icon{font-size:32px;line-height:1;position:relative;margin-bottom:15px}
.collection-icon i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--sage);right:-7px;bottom:0}
.collections strong{font-size:18px}
.collections small{text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-top:6px}
.intro{padding:140px clamp(24px,12vw,180px);text-align:center;background:var(--white)}
.intro h2{font-size:clamp(36px,4vw,58px);max-width:900px;margin:auto}
.intro>p:last-child{max-width:720px;margin:28px auto 0;color:var(--muted);font-size:18px}
.solutions{padding:120px clamp(24px,5vw,80px)}
.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:55px}
.section-head h2,.process h2,.audience h2,.contact h2{font-size:clamp(36px,4vw,56px)}
.section-head>p{max-width:400px;color:var(--muted)}
.solution{display:grid;grid-template-columns:100px 1fr;padding:54px 5%;border-top:1px solid var(--line);background:var(--stone)}
.solution:nth-of-type(3){background:white}
.solution.dark{background:var(--charcoal);color:white}
.number{font-size:13px;font-weight:500;opacity:.55}
.solution h3{font-size:clamp(30px,3vw,44px);margin-bottom:16px}
.solution div>p:not(.kicker){font-size:18px;max-width:650px;color:var(--muted)}
.solution.dark div>p:not(.kicker){color:#cfcfc9}
.solution ul{columns:3;list-style:none;padding:18px 0 30px;margin:0}
.solution li{font-weight:500;padding-right:20px}
.solution li:before{content:"—";color:var(--sage);margin-right:8px}
.solution a{color:inherit;font-weight:600}
.process{background:white;padding:130px clamp(24px,5vw,80px);display:grid;grid-template-columns:.8fr 1.4fr;gap:10%}
.process ol{list-style:none;margin:0;padding:0}
.process li{display:grid;grid-template-columns:50px 1fr;gap:0 20px;border-top:1px solid var(--line);padding:25px 0}
.process li span{grid-row:1/3;color:var(--sage)}
.process strong{font-size:19px;font-weight:600}
.process li p{margin:7px 0 0;color:var(--muted)}
.audience{padding:120px clamp(24px,10vw,150px);background:var(--stone)}
.audience h2{max-width:760px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 50px;margin-top:45px;border-top:1px solid rgba(26,26,26,.2);padding-top:30px}
.checks p{font-size:17px}
.contact{padding:120px clamp(24px,5vw,80px);background:var(--charcoal);color:white;display:grid;grid-template-columns:1fr 1.2fr;gap:9%}
.contact>div>p:not(.eyebrow){color:#cfcfc9;font-size:18px}
.legal-line{font-size:13px!important;margin-top:50px}
form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
label{font-size:13px;font-weight:600}
input,select,textarea{display:block;width:100%;margin-top:8px;padding:14px 0;background:transparent;color:white;border:0;border-bottom:1px solid #777;border-radius:0;font:16px "Montserrat";outline:none}
select option{color:var(--charcoal)}
textarea{resize:vertical}
.full{grid-column:1/-1}
.contact .primary{background:var(--sage);margin-top:12px}
.form-note{margin:0;color:#ddd;font-size:14px}
.form-note a{color:inherit}
footer{padding:42px clamp(24px,5vw,80px);display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:30px;align-items:center;background:var(--sand)}
footer div{display:flex;gap:20px}
footer p{font-size:12px;color:var(--muted)}
.pillars{padding:110px clamp(24px,5vw,80px);background:var(--sand)}
.pillar{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:75px 6%;border-top:1px solid rgba(26,26,26,.18)}
.pillar.run{background:var(--stone)}
.pillar.grow{background:white}
.pillar.improve{background:var(--charcoal);color:white}
.pillar-title>span{display:inline-block;font-size:12px;letter-spacing:.15em;margin-bottom:45px;opacity:.55}
.pillar h2{font-size:clamp(34px,3.7vw,54px);margin-bottom:22px}
.pillar-title>p:last-child{max-width:580px;color:var(--muted);font-size:17px}
.pillar.improve .pillar-title>p:last-child{color:#cfcfc9}
.pillar ul{list-style:none;padding:58px 0 0;margin:0;columns:2;column-gap:35px}
.pillar li{break-inside:avoid;padding:0 0 15px 22px;position:relative;font-size:15px}
.pillar li:before{content:"—";position:absolute;left:0;color:var(--sage)}
.pillar .result{grid-column:1/-1;margin:45px 0 0;padding-top:25px;border-top:1px solid rgba(26,26,26,.2);font-size:16px}
.pillar.improve .result{border-color:rgba(255,255,255,.25)}
.seasonal{padding:clamp(80px,10vw,140px) clamp(24px,7vw,110px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(45px,8vw,110px);align-items:center;background:#20352e;color:white}
.seasonal-image img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.seasonal-image p{font-size:12px;line-height:1.5;color:#bcc9c2;margin:12px 0 0}
.seasonal-copy h2{font-size:clamp(36px,4.2vw,60px);max-width:720px}
.seasonal-lead{font-size:18px;line-height:1.7;color:#d7ded9;margin:28px 0 35px;max-width:650px}
.seasonal-details{list-style:none;padding:0;margin:0 0 30px;border-top:1px solid rgba(255,255,255,.24)}
.seasonal-details li{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.seasonal-details strong{font-size:15px;color:white}
.seasonal-details span{font-size:14px;color:#d7ded9}
.seasonal-note{font-size:14px;line-height:1.65;color:#bcc9c2;margin:0 0 30px}
.seasonal .primary{background:white;color:var(--charcoal)}
.seasonal-link{color:white}
.campaign-hero{min-height:calc(100vh - 88px);padding:70px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#20352e;color:white}
.campaign-hero h1{font-size:clamp(46px,5.5vw,78px);max-width:760px}.campaign-hero .lead{color:#d7ded9}.campaign-hero .primary{background:white;color:var(--charcoal)}.campaign-hero .text-link{color:white}
.campaign-hero figure{margin:0}.campaign-hero img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.campaign-hero figcaption{font-size:11px;color:#bcc9c2;margin-top:10px}
.campaign-facts{display:flex;gap:30px;margin:0 0 34px;padding:20px 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.campaign-facts strong{font-size:25px;margin-right:5px;color:white}
.campaign-offer{padding:120px clamp(24px,7vw,110px);background:white}.campaign-offer>div:first-child{display:grid;grid-template-columns:.45fr 1fr;gap:6%;align-items:start}.campaign-offer h2,.campaign-steps h2,.campaign-fr h2,.campaign-faq h2{font-size:clamp(36px,4vw,56px)}.campaign-offer>div:first-child>p:last-child{font-size:17px;color:var(--muted);margin:4px 0 0}
.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:65px;border:1px solid var(--line)}.offer-grid article{background:var(--sand);padding:35px 28px;min-height:250px}.offer-grid span{font-size:11px;color:var(--sage)}.offer-grid h3{font-size:22px;margin:50px 0 14px}.offer-grid p{font-size:14px;color:var(--muted)}
.campaign-steps{padding:120px clamp(24px,7vw,110px);background:var(--stone)}.campaign-steps ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:55px 0 0;border-top:1px solid rgba(26,26,26,.2)}.campaign-steps li{padding:30px 25px 20px 0}.campaign-steps strong,.campaign-steps span{display:block}.campaign-steps span{font-size:14px;color:var(--muted);margin-top:10px}
.campaign-fr{padding:120px clamp(24px,12vw,180px);background:#20352e;color:white}.campaign-fr>p:not(.eyebrow){max-width:850px;color:#d7ded9;font-size:17px}.campaign-fr ul{list-style:none;padding:25px 0;margin:25px 0;border-top:1px solid rgba(255,255,255,.2);max-width:850px}.campaign-fr li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.16)}.campaign-fr .primary{background:white;color:var(--charcoal)}
.campaign-faq{padding:120px clamp(24px,12vw,180px);background:white}.campaign-faq details{max-width:900px;border-top:1px solid var(--line);padding:20px 0}.campaign-faq details:last-child{border-bottom:1px solid var(--line)}.campaign-faq summary{cursor:pointer;font-weight:600}.campaign-faq details p{color:var(--muted);max-width:760px}
.request{padding:130px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:9%;background:white}
.request h2{font-size:clamp(36px,4vw,56px)}
.request>div>p:last-child{color:var(--muted);font-size:17px}
.quotes{border-top:1px solid var(--line)}
.quotes p{margin:0;padding:15px 5px;border-bottom:1px solid var(--line);font-weight:500}
.audience>p:last-child{max-width:800px;font-size:18px;margin-top:30px}
@media(max-width:1000px){.nav{height:74px}
.menu{display:block}
nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--sand);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
nav.open{display:flex}
.hero{grid-template-columns:1fr;min-height:820px;align-items:start;padding-top:80px}
.hero-photo{background:linear-gradient(180deg,rgba(247,246,242,.98) 0%,rgba(247,246,242,.86) 45%,rgba(247,246,242,.12) 72%),url('assets/fewandco-hero.png') 66% center/cover no-repeat}
.trust{flex-wrap:wrap;gap:4px 20px}
.collections{grid-template-columns:1fr 1fr;padding:30px 24px}
.collections>div{padding:25px 10px}
.collections>div:nth-child(2){border-right:0}
.collections>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
.section-head,.process,.contact{display:block}
.section-head>p{margin-top:25px}
.solution{grid-template-columns:45px 1fr;padding:40px 24px}
.solution ul{columns:1}
.process ol,form{margin-top:50px}
.checks{grid-template-columns:1fr}
.contact form{display:grid}
.contact{padding-top:90px}
.pillars{padding:70px 24px}.pillar{display:block;padding:55px 24px}.pillar-title>span{margin-bottom:28px}.pillar ul{columns:1;padding-top:32px}.seasonal{grid-template-columns:1fr;padding:80px 24px}.seasonal-details li{grid-template-columns:120px 1fr}.request{display:block;padding:90px 24px}.quotes{margin-top:45px}.campaign-hero{grid-template-columns:1fr;padding:60px 24px}.campaign-hero figure{margin-top:35px}.campaign-facts{gap:14px;flex-wrap:wrap}.campaign-offer,.campaign-steps,.campaign-fr,.campaign-faq{padding:80px 24px}.campaign-offer>div:first-child{display:block}.offer-grid,.campaign-steps ol{grid-template-columns:1fr}.offer-grid article{min-height:0}.offer-grid h3{margin-top:20px}
.legal-line{margin-top:30px}
footer{grid-template-columns:1fr;gap:8px}
footer div{margin:8px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

footer .social-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 0;padding-top:20px;border-top:1px solid var(--line)}
footer .social-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--charcoal);border-radius:4px;font-size:14px;font-weight:600;transition:background .15s,color .15s}
footer .social-links a:hover{background:var(--charcoal);color:white}
footer .social-links a:focus-visible{outline:3px solid var(--charcoal);outline-offset:4px}

.corporate-details{font-style:normal;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.corporate-details strong,.corporate-details span{display:block}
.corporate-details a{text-decoration:underline;text-underline-offset:3px}
.contact .corporate-details{margin-top:28px}
footer .corporate-details{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line)}
footer .corporate-details a{margin:0}

/* Compact service summaries on the homepage only. */
.homepage .pillar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 7%;padding:48px 6%}
.homepage .pillar-title>span{margin-bottom:20px}
.homepage .pillar ul{columns:1;padding:40px 0 0}
.homepage .pillar .result{margin:0;padding-top:20px}
.homepage .pillar-cta{grid-column:1/-1;margin:0}
.homepage .pillar-cta{display:flex;gap:12px;flex-wrap:wrap}
.homepage .grow-noel-home{background:#20352e;color:white}
.homepage .seasonal .text-link,
.homepage .contact .corporate-details a{color:var(--white)}
@media(max-width:1000px){
.homepage .pillar{display:block;padding:36px 24px}
.homepage .pillar ul{padding-top:24px}
.homepage .pillar .result{margin-top:12px}
.homepage .pillar-cta{margin:24px 0 0}
.homepage .seasonal .actions{flex-direction:column;align-items:flex-start;gap:20px}
}

footer .social-links a{width:48px;height:48px;padding:12px;margin:0}
footer .social-links img{display:block;width:24px;height:24px}
footer .social-links a:hover img{filter:invert(1)}

.homepage .action-icon{display:inline-block;font-style:normal;line-height:1;vertical-align:baseline}

.homepage .calendar-models{display:grid;gap:28px;align-self:center}.homepage .calendar-models a{display:block;color:inherit;text-decoration:none}.homepage .calendar-models img{width:100%;height:auto;max-height:360px;aspect-ratio:auto;object-fit:contain;background:transparent}.homepage .calendar-models span{display:block;text-align:center;margin-top:12px;font-size:14px;font-weight:600}.homepage .calendar-models a:focus-visible{outline:2px solid white;outline-offset:6px}

.homepage .calendar-models .calendar-composition img{max-height:none;height:auto;object-fit:contain}

/* Calendar artwork is shown as supplied, without overlays, blur, masks or cropping. */
.homepage #christmas{background:var(--sand);color:var(--charcoal);gap:clamp(28px,5vw,70px)}
.homepage .calendar-home-visual{position:relative;width:100%;max-width:520px;margin-inline:auto;background:var(--sand)}
.homepage .calendar-home-visual img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2/3;object-fit:contain;filter:none;box-shadow:none;border:0;border-radius:0;-webkit-mask:none;mask:none}
.homepage #christmas .seasonal-lead,.homepage #christmas .seasonal-details span{color:#53554f}
.homepage #christmas .seasonal-details strong,.homepage #christmas .text-link{color:var(--charcoal)}
.homepage #christmas .seasonal-details,.homepage #christmas .seasonal-details li{border-color:rgba(26,26,26,.18)}
.homepage #christmas .seasonal-note,.homepage #christmas .seasonal-image p{color:var(--muted)}
.homepage #christmas .primary{background:var(--charcoal);color:white}
.homepage .calendar-models{gap:14px}
.homepage .calendar-models>p{max-width:520px;margin-inline:auto}
@media(max-width:600px){.homepage .calendar-home-visual{max-width:420px}}

/* Supplied landscape composition: complete calendars left, copy in its empty right half. */
.homepage #christmas{position:relative;isolation:isolate;min-height:760px;padding:80px clamp(24px,5vw,80px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3vw;background:#f8f7f3;overflow:hidden}
.homepage #christmas .seasonal-image{position:absolute;inset:0;width:100%;height:100%;align-self:stretch;z-index:0;display:block;pointer-events:none}
.homepage #christmas .calendar-home-visual{width:100%;height:100%;max-width:none;background:transparent}
.homepage #christmas .calendar-home-visual img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:left center}
.homepage #christmas .seasonal-copy{grid-column:2;position:relative;z-index:1}
.homepage #christmas .seasonal-image>p{position:absolute;left:4%;bottom:18px;width:38%;max-width:520px;font-size:12px}
@media(max-width:900px){
.homepage #christmas{display:flex;flex-direction:column;padding:0 24px 64px;gap:30px;min-height:0}
.homepage #christmas .seasonal-image{position:relative;inset:auto;z-index:0;width:100%;height:auto;display:block}
.homepage #christmas .calendar-home-visual{width:100%;height:auto;aspect-ratio:1/1;overflow:hidden}
.homepage #christmas .calendar-home-visual img{width:200%;max-width:none;height:auto;object-fit:contain;object-position:left top}
.homepage #christmas .seasonal-image>p{position:static;width:auto;margin:8px 0 0}
.homepage #christmas .seasonal-copy{width:100%}
}
