:root{
  --ivory:#F4EFE7;
  --sand:#DED3C4;
  --taupe:#A8947C;
  --olive:#6E7463;
  --olive-dark:#486145;
  --charcoal:#25231F;
  --white:#FBF9F6;
  --muted:#66635D;
  --line:rgba(37,35,31,.16);
  --display:"Instrument Serif",Georgia,serif;
  --body:"Karla",Arial,sans-serif;
  --shell:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--body);line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:min(calc(100% - 48px),var(--shell));margin:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--olive);margin:0 0 9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border:1px solid transparent;transition:.2s ease;font-weight:600}.button:hover{transform:translateY(-1px)}.button-olive{background:var(--olive-dark);color:var(--white)}.button-light{background:var(--white);color:var(--charcoal)}.button-ghost{border-color:rgba(255,255,255,.65);color:#fff}.button-outline{border-color:rgba(37,35,31,.25);background:transparent}.text-link{text-decoration:underline;text-underline-offset:4px;font-weight:600}
.site-header{height:78px;background:rgba(251,249,246,.96);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(37,35,31,.08);backdrop-filter:blur(10px)}.nav-shell{height:100%;width:min(calc(100% - 48px),var(--shell));margin:auto;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.brand-mark{display:flex;align-items:center;gap:10px;min-width:190px}.brand-icon{width:34px;height:34px;color:var(--olive-dark);flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;line-height:.9}.brand-copy strong{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:1.55rem;letter-spacing:.035em}.brand-copy span{text-transform:uppercase;letter-spacing:.2em;font-size:.52rem;margin-top:6px;color:#5f5a52}.desktop-nav{display:flex;justify-content:center;gap:25px;font-size:.84rem}.desktop-nav a{padding:28px 0 24px;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav a.active{border-bottom-color:var(--taupe)}.top-cta{background:var(--olive-dark);color:var(--white);padding:12px 18px;font-family:var(--display);font-size:1.05rem;white-space:nowrap}.burger{display:none;background:none;border:0;padding:8px}.burger span{display:block;width:24px;height:1px;background:var(--charcoal);margin:5px}.mobile-menu{display:none;position:fixed;top:78px;left:0;right:0;background:var(--white);z-index:39;border-bottom:1px solid rgba(37,35,31,.12)}.mobile-menu nav{width:min(calc(100% - 40px),var(--shell));margin:auto;padding:14px 0 24px;display:grid}.mobile-menu a{padding:13px 0;border-bottom:1px solid rgba(37,35,31,.09)}body.menu-open .mobile-menu{display:block}
.hero{position:relative;height:430px;overflow:hidden;background:#d7b48b}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,239,231,.05),rgba(244,239,231,.02) 55%,rgba(37,35,31,.06))}.hero-inner{position:relative;height:100%}.hero-person{position:absolute;right:6%;bottom:-46px;height:470px;width:auto;max-width:52%;filter:drop-shadow(0 15px 23px rgba(37,35,31,.18))}
.proof-strip{background:var(--white);border-bottom:1px solid rgba(37,35,31,.08)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{display:flex;gap:16px;align-items:center;padding:22px 24px;position:relative}.proof-item:not(:last-child)::after{content:"";position:absolute;right:0;top:18px;bottom:18px;width:1px;background:rgba(37,35,31,.12)}.proof-icon{font-size:1.65rem;color:#67755f;min-width:31px;text-align:center}.proof-item strong{font-family:var(--display);font-size:1.18rem;font-weight:400;display:block}.proof-item small{display:block;font-size:.73rem;color:#69645c;margin-top:1px}
.partner-section{background:linear-gradient(180deg,#fffdfa,var(--ivory));padding:58px 0}.partner-grid{display:grid;grid-template-columns:1.25fr .86fr .44fr;gap:46px;align-items:center}.partner-copy p:not(.eyebrow){max-width:610px;color:#403e39;margin:0 0 14px}.partner-copy .button{margin-top:10px}.portrait-panel{height:318px;background:linear-gradient(145deg,#DED3C4,#f5eee4);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.portrait-panel img{height:350px;width:auto;transform:translateY(38px)}.partner-note{border-left:1px solid rgba(37,35,31,.16);padding-left:28px}.partner-note strong{font-family:var(--display);font-size:1.95rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;line-height:1.05}.partner-note span{display:block;width:38px;height:1px;background:var(--taupe);margin:20px 0}.partner-note p{font-size:.88rem;color:#514c45}
.fit-section{padding:34px 0 54px;background:var(--ivory)}.fit-section h2,.renovation-section h2,.media-section h2,.contact-band h2,.page-hero h1,.split-copy h2,.section-title{font-family:var(--display);font-weight:400}.fit-section h2{font-size:clamp(2.3rem,4vw,3.6rem);line-height:.95;margin:0 0 24px}.fit-grid{display:grid;grid-template-columns:repeat(3,245px);justify-content:center;gap:30px}.fit-card{background:var(--white);border:1px solid rgba(37,35,31,.08)}.fit-art{height:118px;display:grid;place-items:center;background:linear-gradient(145deg,#c9b493,#eee3d5);font-size:2.6rem;color:#53634d}.art-mls{background:linear-gradient(145deg,#ded6ca,#f3eee6)}.art-outdated{background:linear-gradient(145deg,#bda78b,#e7d7c5)}.fit-card h3{font-family:var(--display);font-size:1.22rem;font-weight:400;margin:12px 14px 2px}.fit-card p{font-size:.8rem;color:#5a554d;margin:0 14px 16px}
.how-section{background:#fffdfa;border-top:1px solid rgba(37,35,31,.06);border-bottom:1px solid rgba(37,35,31,.06);padding:28px 0 34px}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.how-grid article{position:relative}.how-grid article:not(:last-child)::after{content:"›";position:absolute;right:-17px;top:28px;font-family:var(--display);font-size:2rem;color:#8f8a80}.how-grid span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--olive-dark);color:var(--white);font-size:.76rem}.how-grid h3{font-family:var(--display);font-size:1.18rem;font-weight:400;margin:8px 0 3px}.how-grid p{font-size:.78rem;color:#605b54;margin:0}
.renovation-section{padding:30px 0 28px;background:var(--ivory)}.section-line-heading{display:grid;grid-template-columns:1.15fr .8fr;gap:50px;align-items:end}.section-line-heading h2{font-size:clamp(2.4rem,4vw,3.55rem);line-height:.95;margin:0}.section-line-heading>p{font-size:.82rem;color:#615c55;max-width:440px}.renovation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.renovation-grid img{width:100%;height:180px;object-fit:cover;border:1px solid rgba(37,35,31,.07)}
.media-section{background:#fffdfa;padding:30px 0 38px}.media-head{grid-template-columns:.7fr 1.15fr auto}.media-head a{font-size:.82rem;text-decoration:underline;text-underline-offset:3px}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:17px}.thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#ddd}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.media-card:hover .thumb img{transform:scale(1.03)}.thumb span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;font-size:.74rem;padding-left:2px}.media-card h3{font-family:var(--display);font-size:1.03rem;font-weight:400;margin:7px 0 0}.media-card p{font-size:.75rem;text-decoration:underline;margin:2px 0 0;color:#574f45}
.network-strip{background:var(--ivory);padding:21px 0 22px;border-top:1px solid rgba(37,35,31,.06)}.network-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.15fr;gap:25px;align-items:center;color:#8a877e;font-size:.73rem;text-transform:uppercase;letter-spacing:.06em}.network-grid div{display:flex;gap:10px;align-items:center}.network-grid span{font-size:1.3rem;color:#788272}.network-grid em{font-family:var(--display);font-size:1.2rem;text-transform:none;color:#746f65;text-align:right}
.contact-band{position:relative;background:#43533f;color:var(--white);overflow:hidden}.contact-bg{position:absolute;inset:0;background:linear-gradient(rgba(56,70,52,.93),rgba(56,70,52,.93)),url('/assets/arizona-skyline.png') center 66%/cover}.contact-grid{position:relative;min-height:144px;display:grid;grid-template-columns:1.3fr .7fr;gap:35px;align-items:center}.contact-band h2{font-size:2.35rem;margin:0;line-height:1}.contact-band p{margin:7px 0 0;color:rgba(255,255,255,.82)}.contact-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.site-footer{background:var(--white)}.footer-top{min-height:96px;display:grid;grid-template-columns:1fr 1.8fr .45fr;align-items:center;gap:25px}.footer-top nav{display:flex;justify-content:center;gap:23px;font-size:.78rem;flex-wrap:wrap}.socials{display:flex;justify-content:flex-end;gap:14px;font-weight:700}.footer-bottom{border-top:1px solid rgba(37,35,31,.09);padding:12px 0;display:flex;justify-content:space-between;font-size:.7rem;color:#706b63}.legal{padding-bottom:20px;font-size:.65rem;color:#989188;text-align:right}
/* Interior pages */
.page-hero{position:relative;overflow:hidden;background:var(--sand);min-height:360px;display:flex;align-items:center}.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,239,231,.97) 0%,rgba(244,239,231,.9) 48%,rgba(244,239,231,.25) 100%),url('/assets/arizona-skyline.png') center/cover}.page-hero .shell{position:relative;z-index:1}.page-hero h1{font-size:clamp(3.2rem,7vw,6.4rem);line-height:.9;max-width:760px;margin:0 0 18px}.page-hero p.lead{font-size:1.07rem;max-width:660px;color:#4d4942;margin:0 0 23px}.page-hero .hero-actions{display:flex;gap:12px;flex-wrap:wrap}.page-section{padding:70px 0;background:var(--ivory)}.page-section.alt{background:#fffdfa}.section-title{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.95;margin:0 0 18px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.body-copy{color:#4f4a43}.body-copy p{margin:0 0 15px}.quote-box{padding:34px;background:var(--sand);border-left:4px solid var(--olive-dark);font-family:var(--display);font-size:2rem;line-height:1.05}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.benefit-card{background:var(--white);padding:25px;border:1px solid rgba(37,35,31,.08)}.benefit-card span{font-size:1.5rem;color:var(--olive-dark)}.benefit-card h3{font-family:var(--display);font-size:1.45rem;font-weight:400;margin:10px 0 7px}.benefit-card p{font-size:.9rem;color:#5f5951;margin:0}.two-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px}.path-card{padding:38px;background:var(--sand);min-height:250px;display:flex;flex-direction:column;justify-content:flex-end}.path-card.dark{background:var(--olive-dark);color:#fff}.path-card h2{font-family:var(--display);font-size:2.6rem;font-weight:400;margin:0 0 10px}.path-card p{margin:0 0 18px;max-width:520px}.criteria-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:25px}.criteria-item{display:flex;gap:13px;background:var(--white);padding:18px;border:1px solid rgba(37,35,31,.08)}.criteria-item strong{display:block;font-family:var(--display);font-size:1.18rem;font-weight:400}.criteria-icon{color:var(--olive-dark);font-size:1.2rem}.form-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}.contact-card{background:var(--sand);padding:30px}.contact-card h2{font-family:var(--display);font-weight:400;font-size:2.4rem;margin:0 0 10px}.contact-card a{display:block;margin:8px 0;text-decoration:underline;text-underline-offset:3px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:6px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid rgba(37,35,31,.18);background:#fffdfa;padding:13px 14px;color:var(--charcoal)}.contact-form textarea{min-height:140px;resize:vertical}.contact-form button{grid-column:1/-1;justify-self:start;border:0;cursor:pointer}.form-note{grid-column:1/-1;font-size:.75rem;color:#6f685f;margin-top:-5px}.about-portrait{background:linear-gradient(145deg,var(--sand),#f5eee4);min-height:460px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.about-portrait img{height:500px;width:auto;transform:translateY(35px)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.stat{border-top:1px solid rgba(37,35,31,.22);padding-top:15px}.stat strong{font-family:var(--display);font-size:2rem;font-weight:400;display:block}.media-feature{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center;background:var(--sand);padding:28px;margin-bottom:26px}.media-feature .thumb{min-height:270px}.legal-page{max-width:800px}.legal-page h1{font-family:var(--display);font-size:3.5rem;font-weight:400}.legal-placeholder{padding:28px;background:var(--sand);border-left:4px solid var(--olive-dark)}
@media(max-width:980px){.desktop-nav,.top-cta{display:none}.nav-shell{grid-template-columns:1fr auto}.burger{display:block}.hero{height:390px}.hero-person{right:-4%;height:420px;max-width:64%}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-item:nth-child(2)::after{display:none}.partner-grid{grid-template-columns:1fr .8fr}.partner-note{grid-column:1/-1;border-left:0;border-top:1px solid rgba(37,35,31,.15);padding:22px 0 0;display:grid;grid-template-columns:1fr auto 1.6fr;gap:20px;align-items:center}.partner-note span{margin:0;width:1px;height:52px}.fit-grid{grid-template-columns:repeat(3,1fr)}.how-grid{grid-template-columns:repeat(2,1fr);row-gap:28px}.how-grid article:nth-child(2)::after{display:none}.media-grid{grid-template-columns:repeat(2,1fr)}.network-grid{grid-template-columns:repeat(2,1fr)}.network-grid em{text-align:left}.contact-grid{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}.footer-top{grid-template-columns:1fr}.footer-top nav{justify-content:flex-start}.socials{justify-content:flex-start}.legal{text-align:left}.intro-grid,.form-shell{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr 1fr}.media-feature{grid-template-columns:1fr}.page-hero{min-height:330px}.page-hero::before{background:linear-gradient(90deg,rgba(244,239,231,.98),rgba(244,239,231,.85) 68%,rgba(244,239,231,.4)),url('/assets/arizona-skyline.png') center/cover}}
@media(max-width:640px){.shell,.nav-shell{width:min(calc(100% - 28px),var(--shell))}.site-header,.nav-shell{height:68px}.mobile-menu{top:68px}.brand-mark{min-width:auto}.brand-copy strong{font-size:1.3rem}.brand-copy span{font-size:.45rem}.brand-icon{width:30px;height:30px}.hero{height:430px}.hero-bg{object-position:54% center}.hero-person{height:390px;right:-24%;bottom:-24px;max-width:none}.proof-grid{grid-template-columns:1fr}.proof-item::after{display:none!important}.proof-item{border-bottom:1px solid rgba(37,35,31,.09)}.partner-section{padding:42px 0}.partner-grid{grid-template-columns:1fr}.partner-photo-wrap{order:2}.partner-note{order:3;display:block}.partner-note span{width:38px;height:1px;margin:18px 0}.fit-grid{grid-template-columns:1fr}.fit-section h2{font-size:2.6rem}.how-grid{grid-template-columns:1fr}.how-grid article::after{display:none!important}.section-line-heading,.media-head{grid-template-columns:1fr}.section-line-heading>p,.media-head>a{margin-top:10px}.renovation-grid{grid-template-columns:1fr}.renovation-grid img{height:220px}.media-grid{grid-template-columns:1fr}.network-grid{grid-template-columns:1fr}.contact-grid{padding:32px 0}.footer-bottom{flex-direction:column;gap:7px}.page-hero h1{font-size:3.6rem}.page-section{padding:48px 0}.benefit-grid,.two-paths,.criteria-list,.stat-row{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form label.full,.contact-form button,.form-note{grid-column:auto}.quote-box{font-size:1.6rem}.media-feature .thumb{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Upper-left page dropdown */
.footer-contact{display:flex;gap:22px;align-items:center;padding:14px 0 2px;font-size:.82rem}.footer-contact a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.nav-shell{grid-template-columns:auto 1fr auto;gap:24px}}

.hero-person{display:none!important}

.legal-effective{font-weight:700;color:var(--olive-dark);margin:0 0 24px}.legal-content{background:var(--white);border:1px solid rgba(37,35,31,.08);padding:34px 38px;line-height:1.7;color:#4f4a43}.legal-content h2{font-family:var(--display);font-size:1.9rem;font-weight:400;color:var(--charcoal);margin:30px 0 10px}.legal-content p{margin:0 0 14px}.legal-content ul{margin:0 0 18px;padding-left:22px}.legal-content li{margin:7px 0}.legal-content a{text-decoration:underline;text-underline-offset:3px;color:var(--olive-dark)}
@media(max-width:640px){.legal-content{padding:24px 20px}.legal-content h2{font-size:1.55rem}}

/* Sell page */
.sell-hero::before{background:linear-gradient(90deg,rgba(244,239,231,.98) 0%,rgba(244,239,231,.90) 52%,rgba(244,239,231,.22) 100%),url('/assets/arizona-skyline.png') center/cover}.sell-narrow{max-width:760px}.sell-value-grid{grid-template-columns:repeat(3,1fr)}.sell-photo-section{background:var(--sand)}.photo-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0 42px}.photo-service-grid article{background:rgba(251,249,246,.82);border:1px solid rgba(37,35,31,.08);padding:26px 20px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}.photo-service-grid span{font-size:2rem;color:var(--olive-dark)}.photo-service-grid h3{font-family:var(--display);font-weight:400;font-size:1.45rem;margin:18px 0 0}.sell-photo-subhead{font-family:var(--display);font-weight:400;font-size:2rem;text-align:center;margin:0 0 20px}.selling-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 34px;margin-top:26px}.selling-service-grid>div{padding:16px 0;border-top:1px solid rgba(37,35,31,.14)}.selling-service-grid strong{font-family:var(--display);font-size:1.3rem;font-weight:400}.selling-service-grid p{margin:3px 0 0;color:#5f5951;font-size:.9rem}.cash-offer-section{background:var(--ivory)}.sell-how{grid-template-columns:repeat(3,1fr);margin-top:30px}.sell-how article:nth-child(3)::after{display:none}.secondary-link{margin-left:18px}
@media(max-width:980px){.sell-value-grid{grid-template-columns:repeat(2,1fr)}.photo-service-grid{grid-template-columns:repeat(2,1fr)}.selling-service-grid{grid-template-columns:1fr}.sell-how{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sell-value-grid,.photo-service-grid,.sell-how{grid-template-columns:1fr}.secondary-link{display:inline-block;margin:14px 0 0 0}}

/* Sell page v7 */
.sell-paths{margin-top:28px}.sell-paths .path-card{min-height:285px}.sell-paths .path-card .eyebrow{margin-bottom:7px}.sell-paths .path-card.dark .eyebrow{color:#d8d1c6}.sell-value-section{background:linear-gradient(180deg,var(--ivory),#eee6da)}
.visual-photo-grid article{padding:0;min-height:0;display:block;overflow:hidden;background:var(--white)}.photo-service-image{height:235px;background-image:var(--photo);background-size:cover;background-position:center}.visual-photo-grid h3{margin:0;padding:18px 20px 20px;background:rgba(251,249,246,.94)}.sell-photo-collage{align-items:center}.sell-photo-collage img:nth-child(2){height:220px}.sell-photo-collage img:nth-child(1),.sell-photo-collage img:nth-child(3){height:185px}.cash-offer-section{background:linear-gradient(180deg,#fffdfa,var(--ivory))}
@media(max-width:980px){.photo-service-image{height:210px}.sell-photo-collage img:nth-child(1),.sell-photo-collage img:nth-child(2),.sell-photo-collage img:nth-child(3){height:190px}}
@media(max-width:640px){.sell-paths{grid-template-columns:1fr}.photo-service-image{height:220px}.sell-photo-collage img:nth-child(1),.sell-photo-collage img:nth-child(2),.sell-photo-collage img:nth-child(3){height:220px}}

/* v8 acquisition-focused sell page */
.acquisition-hero::before{background:linear-gradient(90deg,rgba(244,239,231,.98) 0%,rgba(244,239,231,.90) 52%,rgba(244,239,231,.18) 100%),url('/assets/arizona-skyline.png') center/cover}
.acquisition-intro{max-width:700px;margin:0 0 28px}.acquisition-fit{background:linear-gradient(180deg,var(--ivory),#eee6da)}.acquisition-cards{margin-top:18px}.acquisition-process{padding-top:34px;padding-bottom:40px}.acquisition-partner .hero-actions{margin-top:24px}.acquisition-renovation{padding-top:52px;padding-bottom:52px}.acquisition-renovation .renovation-grid img{height:240px}
@media(max-width:640px){.acquisition-renovation .renovation-grid img{height:220px}}


/* v9 Projects + featured property + reels */
.projects-hero::before{background:linear-gradient(90deg,rgba(244,239,231,.98) 0%,rgba(244,239,231,.88) 50%,rgba(244,239,231,.18) 100%),url('/assets/arizona-skyline.png') center/cover}
.featured-property-section{padding:58px 0;background:#fffdfa;border-top:1px solid rgba(37,35,31,.06);border-bottom:1px solid rgba(37,35,31,.06)}
.featured-property-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:46px;align-items:center}.featured-property-copy h2,.walkthrough-head h2,.projects-preview-section h2,.project-category-grid h2,.featured-project-copy h3{font-family:var(--display);font-weight:400}.featured-property-copy h2{font-size:3.2rem;line-height:1;margin:0 0 14px}.featured-lead{max-width:530px;color:#514c45}.featured-facts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.featured-facts span,.project-status{display:inline-block;background:var(--olive-dark);color:#fff;padding:6px 10px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.featured-property-visual{min-height:420px;overflow:hidden;background:var(--sand)}.featured-property-visual img{width:100%;height:420px;object-fit:cover}.project-note{font-size:.76rem;color:#776f65;margin-top:14px}.walkthrough-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:52px;margin-bottom:18px}.walkthrough-head h2{font-size:2.6rem;line-height:1;margin:0}.reel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.reel-card{background:var(--white);border:1px solid rgba(37,35,31,.08);overflow:hidden}.reel-card video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#1b1b1b}.reel-card>div{padding:15px 16px}.reel-card strong{font-family:var(--display);font-size:1.25rem;font-weight:400;display:block}.reel-card span{font-size:.76rem;color:#6b655c}.projects-preview-section{padding:52px 0;background:var(--ivory)}.project-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.project-preview-grid article{background:var(--white);border:1px solid rgba(37,35,31,.08);padding-bottom:20px}.project-preview-grid img{width:100%;height:210px;object-fit:cover}.project-preview-grid .project-status{margin:14px 16px 0}.project-preview-grid h3{font-family:var(--display);font-size:1.4rem;font-weight:400;margin:9px 16px 6px}.project-preview-grid p,.project-preview-grid .text-link{margin-left:16px;margin-right:16px}.project-category-strip{background:var(--white);border-bottom:1px solid rgba(37,35,31,.08)}.project-category-grid{display:grid;grid-template-columns:repeat(3,1fr)}.project-category-grid article{display:flex;gap:16px;padding:28px;align-items:flex-start}.project-category-grid article:not(:last-child){border-right:1px solid rgba(37,35,31,.1)}.project-category-grid>article>span{font-size:2rem;color:var(--olive-dark)}.project-category-grid h2{font-size:1.55rem;margin:0 0 4px}.project-category-grid p{margin:0;font-size:.84rem;color:#665f56}.featured-project-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:stretch;margin-top:28px}.featured-project-image{min-height:430px;background:var(--sand);overflow:hidden}.featured-project-image img{width:100%;height:100%;min-height:430px;object-fit:cover}.featured-project-copy{background:var(--sand);padding:34px}.featured-project-copy h3{font-size:2.4rem;margin:16px 0 10px}.featured-project-copy ul{padding-left:20px;margin:20px 0 26px}.featured-project-copy li{margin:8px 0}.project-reel-title{margin-top:48px}.project-process{padding-top:34px;padding-bottom:40px}.project-page-grid p{font-size:.85rem;color:#665f56}
@media(max-width:980px){.featured-property-grid,.featured-project-layout{grid-template-columns:1fr}.featured-property-visual,.featured-property-visual img{height:360px;min-height:360px}.project-category-grid{grid-template-columns:1fr}.project-category-grid article:not(:last-child){border-right:0;border-bottom:1px solid rgba(37,35,31,.1)}.reel-grid{grid-template-columns:repeat(3,1fr)}.project-preview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.featured-property-section{padding:42px 0}.featured-property-copy h2{font-size:2.55rem}.featured-property-visual,.featured-property-visual img{height:300px;min-height:300px}.walkthrough-head{display:block}.walkthrough-head .text-link{display:inline-block;margin-top:10px}.reel-grid,.project-preview-grid{grid-template-columns:1fr}.reel-card video{max-height:620px}.project-preview-grid img{height:220px}.featured-project-image,.featured-project-image img{min-height:300px}.featured-project-copy{padding:24px}}

/* v11 header spacing refinement */
@media (min-width:981px){
  .site-header{height:106px;min-height:106px}
  .nav-shell{width:min(calc(100% - 72px),1420px);gap:34px}
  .brand-mark{gap:13px;min-width:230px}
  .brand-icon{width:40px;height:40px}
  .brand-copy strong{font-size:1.72rem;line-height:.92}
  .brand-copy span{font-size:.56rem;margin-top:8px;letter-spacing:.22em}
  .desktop-nav{gap:31px;font-size:.88rem}
  .desktop-nav a{padding:38px 0 34px}
  .top-cta{padding:15px 23px;font-size:1.12rem}
  .mobile-menu{top:106px}
}
@media (min-width:641px) and (max-width:980px){
  .site-header,.nav-shell{height:88px}
  .mobile-menu{top:88px}
  .brand-icon{width:36px;height:36px}
  .brand-copy strong{font-size:1.58rem}
}


/* v13 Cecil Zoom feedback rebuild */
:root{--shell:1280px}
.home-display{font-family:var(--display);font-weight:400;font-size:clamp(2.7rem,4.5vw,4.8rem);line-height:.94;margin:0 0 22px;max-width:760px}
.section-roomy{padding:76px 0}.proof-grid-wide{width:min(calc(100% - 64px),1480px);max-width:none}.proof-strip-large .proof-item{padding:31px 34px}.proof-strip-large .proof-item strong{font-size:1.42rem}.proof-strip-large .proof-item small{font-size:.8rem}.proof-strip-large .proof-icon{font-size:1.95rem}
.portrait-panel-large{height:390px}.portrait-panel-large img{height:430px;transform:translateY(45px)}
.fit-expanded{padding:62px 0 78px}.fit-grid-expanded{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;justify-content:stretch}.fit-grid-expanded .fit-art{height:150px}.fit-grid-expanded .fit-card h3{font-size:1.45rem;margin:16px 18px 4px}.fit-grid-expanded .fit-card p{font-size:.9rem;margin:0 18px 21px}.how-section-large{padding:48px 0 52px}.how-section-large .how-grid h3{font-size:1.4rem}.how-section-large .how-grid p{font-size:.88rem}.how-section-large .how-grid span{width:38px;height:38px}
.renovation-expanded{padding:64px 0}.renovation-grid-large{gap:22px;margin-top:28px}.renovation-grid-large img{height:310px;border:0}.buybox-teaser{padding:42px 0;background:var(--sand)}.buybox-teaser-grid{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}.buybox-teaser h2{font-family:var(--display);font-weight:400;font-size:clamp(2.3rem,4vw,3.8rem);line-height:.95;margin:0 0 12px}.buybox-teaser p:not(.eyebrow){max-width:760px;margin:0;color:#514b43}.center-action{text-align:center;margin-top:30px}.media-head-clean{grid-template-columns:1fr auto}.media-head-clean>a{align-self:end}.featured-property-section{padding:74px 0}.projects-preview-section{padding:68px 0}.media-section{padding:54px 0 64px}
.partners-hero::before{background:linear-gradient(90deg,rgba(244,239,231,.98) 0%,rgba(244,239,231,.88) 56%,rgba(244,239,231,.2) 100%),url('/assets/arizona-skyline.png') center/cover}.partner-audiences{padding:70px 0}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.audience-grid article{padding:48px 52px;background:var(--white);border:1px solid rgba(37,35,31,.08)}.audience-grid article h2{font-family:var(--display);font-weight:400;font-size:clamp(2.5rem,4vw,4rem);line-height:.96;margin:0 0 22px}.audience-grid article p{color:#554f47}.audience-dark{background:var(--olive-dark)!important;color:white}.audience-dark p{color:rgba(255,255,255,.82)!important}.audience-dark .eyebrow{color:#d7d0c5}.audience-dark h3{font-family:var(--display);font-size:1.8rem;font-weight:400;margin:24px 0 4px}.partner-promise{font-family:var(--display);font-size:1.65rem;line-height:1.15;border-top:1px solid rgba(37,35,31,.16);padding-top:24px;margin-top:28px}.benefit-grid-4{grid-template-columns:repeat(4,1fr)}
.buybox-section{background:linear-gradient(180deg,#fffdfa,var(--ivory));padding:72px 0}.buybox-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:34px 0}.buybox-grid article{background:var(--white);border:1px solid rgba(37,35,31,.09);padding:30px 24px;min-height:150px}.buybox-grid strong{font-family:var(--display);font-size:3.2rem;font-weight:400;display:block;color:var(--olive-dark)}.buybox-grid span{font-size:.86rem;color:#5d574f}.zip-panel{background:var(--olive-dark);color:var(--white);padding:28px 32px}.zip-panel h3{font-family:var(--display);font-weight:400;font-size:1.7rem;margin:0 0 8px}.zip-panel p{margin:0;line-height:1.9;letter-spacing:.03em;color:rgba(255,255,255,.86)}
.testimonials-section{padding:70px 0;background:var(--sand)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.testimonial-grid article{background:rgba(251,249,246,.9);border:1px solid rgba(37,35,31,.08);padding:30px;min-height:190px}.testimonial-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--olive)}.testimonial-grid h3{font-family:var(--display);font-size:2rem;font-weight:400;margin:18px 0 8px}.testimonial-grid p{margin:0;color:#625c54}
.team-hero::before{background:linear-gradient(90deg,rgba(244,239,231,.98) 0%,rgba(244,239,231,.88) 58%,rgba(244,239,231,.18) 100%),url('/assets/arizona-skyline.png') center/cover}.about-cecil-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:center}.about-cecil-photo{background:linear-gradient(145deg,var(--sand),#f1e8dc);height:470px;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}.about-cecil-photo img{height:500px;width:auto;transform:translateY(48px)}.about-stats{display:flex;gap:18px;margin-top:28px}.about-stats span{border:1px solid rgba(37,35,31,.12);padding:16px 20px;display:flex;gap:10px;align-items:baseline}.about-stats strong{font-family:var(--display);font-size:1.8rem;font-weight:400}.team-section{padding:74px 0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.team-card{background:var(--white);border:1px solid rgba(37,35,31,.08);padding-bottom:22px}.team-photo,.team-placeholder{height:290px;background:linear-gradient(145deg,#d8cabb,#f0e8dd);display:grid;place-items:center;overflow:hidden}.team-photo img{height:330px;width:auto;transform:translateY(32px)}.team-placeholder{font-family:var(--display);font-size:6rem;color:var(--olive-dark)}.team-card h3{font-family:var(--display);font-weight:400;font-size:1.7rem;margin:18px 20px 3px}.team-card p{font-size:.82rem;color:#6b645c;margin:0 20px}.team-card-cecil .team-photo{background:linear-gradient(145deg,#cfc0ad,#efe7da)}
.media-grid-large{gap:26px}.media-grid-large .media-card h3{font-size:1.35rem;margin-top:12px}.media-coming{padding-top:68px;padding-bottom:90px}.project-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.project-detail-main{width:100%;height:520px;object-fit:cover}.clean-footer .footer-top{min-height:118px}.clean-footer .footer-contact{padding-top:4px;padding-bottom:12px}.clean-footer .footer-bottom{padding-top:14px;padding-bottom:14px}
@media(max-width:1100px){.benefit-grid-4{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.buybox-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.audience-grid,.about-cecil-grid,.project-detail-grid{grid-template-columns:1fr}.buybox-teaser-grid{grid-template-columns:1fr}.fit-grid-expanded{grid-template-columns:repeat(2,1fr)}.renovation-grid-large img{height:240px}.testimonial-grid{grid-template-columns:1fr}.about-cecil-photo{max-width:520px}.proof-grid-wide{width:min(calc(100% - 40px),var(--shell))}}
@media(max-width:640px){:root{--shell:1180px}.proof-grid-wide{width:min(calc(100% - 32px),var(--shell))}.proof-strip-large .proof-item{padding:20px 12px}.fit-grid-expanded,.benefit-grid-4,.buybox-grid,.team-grid{grid-template-columns:1fr}.renovation-grid-large{grid-template-columns:1fr}.renovation-grid-large img{height:260px}.audience-grid article{padding:34px 24px}.buybox-section,.team-section,.testimonials-section{padding:52px 0}.team-photo,.team-placeholder{height:250px}.project-detail-main{height:340px}.about-stats{flex-direction:column}.section-roomy{padding:52px 0}}

/* v13.5 definitive desktop header + proof-strip layout */
@media (min-width:981px){
  /* True three-column header: logo left, nav dead-center, CTA right. */
  .site-header,
  .home-page .site-header{
    height:126px;
    min-height:126px;
  }
  .nav-shell,
  .home-page .nav-shell{
    width:min(calc(100% - 120px),1440px);
    height:100%;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:40px;
    align-items:center;
  }
  .brand-mark,
  .home-page .brand-mark{
    justify-self:start;
    min-width:0;
    gap:14px;
  }
  .brand-icon,
  .home-page .brand-icon{
    width:44px;
    height:44px;
  }
  .brand-copy strong,
  .home-page .brand-copy strong{
    font-size:1.92rem;
    line-height:.92;
  }
  .brand-copy span,
  .home-page .brand-copy span{
    font-size:.6rem;
    margin-top:8px;
    letter-spacing:.22em;
  }
  .desktop-nav,
  .home-page .desktop-nav{
    justify-self:center;
    justify-content:center;
    gap:36px;
    font-size:.94rem;
  }
  .desktop-nav a,
  .home-page .desktop-nav a{
    padding:46px 0 42px;
  }
  .top-cta,
  .home-page .top-cta{
    justify-self:end;
    padding:18px 28px;
    font-size:1.2rem;
  }
  .mobile-menu,
  .home-page .mobile-menu{
    top:126px;
  }

  /* Equal, centered four-column credibility strip. */
  .proof-grid-wide,
  .home-page .proof-grid-wide{
    width:min(calc(100% - 120px),1440px);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .proof-strip-large .proof-item,
  .home-page .proof-strip-large .proof-item{
    min-width:0;
    padding:27px 28px;
    justify-content:center;
    gap:16px;
  }
  .proof-strip-large .proof-item strong,
  .home-page .proof-strip-large .proof-item strong{
    font-size:1.32rem;
  }
  .proof-strip-large .proof-item small,
  .home-page .proof-strip-large .proof-item small{
    font-size:.78rem;
  }
  .proof-strip-large .proof-icon,
  .home-page .proof-strip-large .proof-icon{
    font-size:1.78rem;
  }

  .home-page .hero{height:430px}
  .home-page .section-roomy{padding:52px 0 60px}
  .home-page .partner-grid{gap:38px}
  .home-page .home-display{font-size:clamp(2.75rem,3.8vw,4.1rem);line-height:.98;margin-bottom:17px}
}

@media (min-width:641px) and (max-width:980px){
  .site-header,.nav-shell,.home-page .site-header,.home-page .nav-shell{height:94px;min-height:94px}
  .mobile-menu,.home-page .mobile-menu{top:94px}
  .proof-grid-wide{margin:0 auto}
}

/* v13.6 readability adjustment: text size only */
@media (min-width:981px){
  .desktop-nav,
  .home-page .desktop-nav{
    font-size:17px;
  }

  .proof-strip-large .proof-item strong,
  .home-page .proof-strip-large .proof-item strong{
    font-size:20px;
    line-height:1.15;
  }

  .proof-strip-large .proof-item small,
  .home-page .proof-strip-large .proof-item small{
    font-size:14px;
    line-height:1.35;
    margin-top:4px;
  }
}

/* v13.7 navigation + credibility readability and vertical rhythm */
@media (min-width:981px){
  /* Keep the header size, but make the navigation itself larger and tighter. */
  .desktop-nav,
  .home-page .desktop-nav{
    font-size:19px;
    font-weight:500;
    align-items:center;
    gap:38px;
  }

  .desktop-nav a,
  .home-page .desktop-nav a{
    padding:10px 0 8px;
    line-height:1.15;
  }

  /* Make the four proof points easier to read while reducing unused vertical space. */
  .proof-strip-large .proof-item,
  .home-page .proof-strip-large .proof-item{
    padding:19px 28px;
    gap:18px;
  }

  .proof-strip-large .proof-item strong,
  .home-page .proof-strip-large .proof-item strong{
    font-size:22px;
    line-height:1.1;
  }

  .proof-strip-large .proof-item small,
  .home-page .proof-strip-large .proof-item small{
    font-size:16px;
    line-height:1.25;
    margin-top:5px;
  }

  .proof-strip-large .proof-icon,
  .home-page .proof-strip-large .proof-icon{
    font-size:2rem;
  }

  .proof-strip-large .proof-item:not(:last-child)::after,
  .home-page .proof-strip-large .proof-item:not(:last-child)::after{
    top:12px;
    bottom:12px;
  }
}


/* v13.8 official Cecil Gomes logo integration */
.site-logo{display:block;width:auto;height:auto;object-fit:contain}
.brand-mark-header,.brand-mark-footer{padding:0;line-height:0}
.site-logo-header{width:286px;max-width:100%;max-height:82px}
.site-logo-footer{width:196px;max-width:100%;max-height:132px}
.clean-footer .brand-mark-footer{align-self:center;justify-self:start}

@media (min-width:981px){
  .brand-mark-header,
  .home-page .brand-mark-header{
    min-width:286px;
  }
  .site-logo-header{
    width:286px;
  }
  .clean-footer .footer-top{
    min-height:154px;
    grid-template-columns:1fr 1.8fr .45fr;
  }
}

@media (min-width:641px) and (max-width:980px){
  .site-logo-header{width:238px;max-height:70px}
  .site-logo-footer{width:180px}
}

@media (max-width:640px){
  .site-logo-header{width:196px;max-height:56px}
  .site-logo-footer{width:170px}
  .brand-mark-header{min-width:0}
  .clean-footer .footer-top{min-height:auto;padding-top:28px;padding-bottom:24px}
}

/* v14 homepage partner portrait - plain transparent portrait, no decorative treatment */
.home-page .cg14-partner-section{padding:42px 0 58px;background:linear-gradient(180deg,#fffdfa 0%,var(--ivory) 100%)}
.home-page .cg14-partner-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.72fr) minmax(210px,.43fr);gap:44px;align-items:center}
.home-page .cg14-partner-copy .home-display{font-size:clamp(3.15rem,4vw,4.65rem);line-height:.94;margin:0 0 22px}
.home-page .cg14-partner-copy p:not(.eyebrow){max-width:640px;margin:0 0 16px;color:#403e39}
.home-page .cg14-partner-copy .button{margin-top:10px}
.home-page .cg14-portrait{align-self:end;display:flex;justify-content:center;align-items:flex-end;min-height:505px;background:none!important;border:0!important;outline:0!important;box-shadow:none!important;overflow:visible!important;position:relative}
.home-page .cg14-portrait::before,.home-page .cg14-portrait::after{content:none!important;display:none!important;background:none!important}
.home-page .cg14-portrait img{display:block!important;width:auto!important;height:505px!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 18px 20px rgba(37,35,31,.09))!important;transform:none!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;opacity:1!important}
.home-page .cg14-partner-note{align-self:center;margin:0;padding-left:30px;border-left:1px solid rgba(37,35,31,.18)}
.home-page .cg14-partner-note strong{font-family:var(--display);font-size:2.12rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;line-height:1.03}
.home-page .cg14-partner-note span{display:block;width:38px;height:1px;background:var(--taupe);margin:20px 0}
.home-page .cg14-partner-note p{font-size:.95rem;line-height:1.55;color:#514c45;max-width:220px;margin:0}
@media (min-width:641px) and (max-width:980px){.home-page .cg14-partner-grid{grid-template-columns:1fr .78fr;gap:30px}.home-page .cg14-portrait{min-height:420px}.home-page .cg14-portrait img{height:420px!important}.home-page .cg14-partner-note{grid-column:1/-1;border-left:0;border-top:1px solid rgba(37,35,31,.15);padding:22px 0 0}}
@media (max-width:640px){.home-page .cg14-partner-section{padding:34px 0 42px}.home-page .cg14-partner-grid{grid-template-columns:1fr;gap:24px}.home-page .cg14-portrait{order:2;min-height:0}.home-page .cg14-portrait img{height:auto!important;width:min(100%,340px)!important}.home-page .cg14-partner-note{order:3;border-left:0;border-top:1px solid rgba(37,35,31,.15);padding:22px 0 0}.home-page .cg14-partner-note p{max-width:none}}

/* v15 homepage editorial balance rebuild */
.home-page .cg15-partner-section{
  background:#FBF9F6;
  padding:52px 0 46px;
  border-top:1px solid rgba(37,35,31,.045);
}
.home-page .cg15-partner-grid{
  width:min(calc(100% - 72px),1360px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(560px,.94fr);
  gap:74px;
  align-items:center;
}
.home-page .cg15-partner-copy{
  max-width:650px;
}
.home-page .cg15-partner-copy .eyebrow{
  margin-bottom:12px;
}
.home-page .cg15-partner-copy .home-display{
  max-width:620px;
  font-size:clamp(3.25rem,4.25vw,4.35rem);
  line-height:.96;
  margin:0 0 22px;
  letter-spacing:-.012em;
}
.home-page .cg15-partner-copy p:not(.eyebrow){
  max-width:625px;
  margin:0 0 16px;
  color:#403e39;
  font-size:1rem;
  line-height:1.56;
}
.home-page .cg15-partner-copy .button{
  margin-top:8px;
  padding:14px 21px;
}

/* The portrait and supporting note behave as one visual unit. */
.home-page .cg15-portrait{
  grid-column:2;
  grid-row:1;
  justify-self:start;
  align-self:center;
  width:360px;
  height:470px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
  position:relative;
}
.home-page .cg15-portrait::before,
.home-page .cg15-portrait::after{
  content:none!important;
  display:none!important;
}
.home-page .cg15-portrait img{
  display:block;
  width:auto;
  height:455px;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:none;
  transform:none;
  clip-path:none;
  mask:none;
  -webkit-mask:none;
}
.home-page .cg15-partner-note{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  align-self:center;
  width:205px;
  margin:0;
  padding-left:28px;
  border-left:1px solid rgba(37,35,31,.17);
  position:relative;
  z-index:2;
}
.home-page .cg15-partner-note strong{
  display:block;
  font-family:var(--display);
  font-size:1.9rem;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.07em;
  line-height:1.04;
}
.home-page .cg15-partner-note span{
  display:block;
  width:36px;
  height:1px;
  background:var(--taupe);
  margin:19px 0 17px;
}
.home-page .cg15-partner-note p{
  max-width:180px;
  margin:0;
  color:#514c45;
  font-size:.91rem;
  line-height:1.55;
}

/* Bring the next section up so the page doesn't fall into a dead zone. */
.home-page .fit-expanded{
  padding-top:42px;
}

@media (max-width:1180px) and (min-width:981px){
  .home-page .cg15-partner-grid{
    grid-template-columns:minmax(0,1fr) minmax(470px,.9fr);
    gap:46px;
  }
  .home-page .cg15-portrait{width:310px;height:430px}
  .home-page .cg15-portrait img{height:420px}
  .home-page .cg15-partner-note{width:185px;padding-left:22px}
  .home-page .cg15-partner-note strong{font-size:1.68rem}
}

@media (max-width:980px){
  .home-page .cg15-partner-section{padding:46px 0 40px}
  .home-page .cg15-partner-grid{
    width:min(calc(100% - 44px),var(--shell));
    grid-template-columns:1fr .82fr;
    gap:34px;
    align-items:end;
  }
  .home-page .cg15-partner-copy{max-width:none}
  .home-page .cg15-partner-copy .home-display{font-size:clamp(3rem,6vw,4rem)}
  .home-page .cg15-portrait{grid-column:2;grid-row:1;width:100%;height:420px}
  .home-page .cg15-portrait img{height:410px}
  .home-page .cg15-partner-note{
    grid-column:1/-1;
    grid-row:2;
    justify-self:stretch;
    width:auto;
    border-left:0;
    border-top:1px solid rgba(37,35,31,.15);
    padding:20px 0 0;
    display:grid;
    grid-template-columns:auto 36px 1fr;
    gap:18px;
    align-items:center;
  }
  .home-page .cg15-partner-note span{width:1px;height:46px;margin:0}
  .home-page .cg15-partner-note p{max-width:none}
}

@media (max-width:640px){
  .home-page .cg15-partner-section{padding:34px 0 34px}
  .home-page .cg15-partner-grid{
    width:min(calc(100% - 28px),var(--shell));
    grid-template-columns:1fr;
    gap:22px;
  }
  .home-page .cg15-partner-copy .home-display{font-size:3.2rem;line-height:.96}
  .home-page .cg15-portrait{grid-column:1;grid-row:auto;width:100%;height:auto;justify-self:center}
  .home-page .cg15-portrait img{height:auto;width:min(100%,340px)}
  .home-page .cg15-partner-note{
    grid-column:1;
    grid-row:auto;
    display:block;
    padding-top:20px;
  }
  .home-page .cg15-partner-note span{width:36px;height:1px;margin:16px 0}
  .home-page .fit-expanded{padding-top:34px}
}


/* V16 — restore the original homepage portrait composition the client approved. */
@media (min-width:981px){
  .home-page .partner-section.section-roomy{
    padding:58px 0 64px;
    background:linear-gradient(180deg,#fffdfa,var(--ivory));
  }
  .home-page .partner-grid{
    display:grid;
    grid-template-columns:1.25fr .86fr .44fr;
    gap:46px;
    align-items:center;
  }
  .home-page .partner-photo-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
  }
  .home-page .portrait-panel.portrait-panel-large{
    width:100%;
    height:390px;
    background:linear-gradient(145deg,#DED3C4,#f5eee4);
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    box-shadow:none;
    border:0;
  }
  .home-page .portrait-panel.portrait-panel-large img{
    height:430px;
    width:auto;
    max-width:none;
    object-fit:contain;
    object-position:center bottom;
    transform:translateY(45px);
    filter:none;
    opacity:1;
  }
  .home-page .partner-note{
    align-self:center;
  }
}
@media (min-width:641px) and (max-width:980px){
  .home-page .partner-grid{grid-template-columns:1fr .8fr;gap:34px;align-items:center}
  .home-page .portrait-panel.portrait-panel-large{height:360px}
  .home-page .portrait-panel.portrait-panel-large img{height:400px;transform:translateY(42px)}
  .home-page .partner-note{grid-column:1/-1}
}
@media (max-width:640px){
  .home-page .partner-section.section-roomy{padding:42px 0}
  .home-page .partner-grid{grid-template-columns:1fr;gap:26px}
  .home-page .partner-photo-wrap{order:2}
  .home-page .portrait-panel.portrait-panel-large{height:360px}
  .home-page .portrait-panel.portrait-panel-large img{height:400px;transform:translateY(42px)}
  .home-page .partner-note{order:3}
}

/* V17 — exact homepage portrait composition based on the approved mockup. */
.home-page .cg17-partner-section{
  background:linear-gradient(180deg,#fffdfa 0%,var(--ivory) 100%);
  padding:54px 0 46px;
  overflow:hidden;
}
.home-page .cg17-partner-grid{
  width:min(calc(100% - 96px),1380px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(420px,.90fr) minmax(210px,.42fr);
  gap:32px;
  align-items:center;
}
.home-page .cg17-partner-copy{
  align-self:center;
  padding-top:4px;
}
.home-page .cg17-partner-copy .eyebrow{
  margin-bottom:12px;
}
.home-page .cg17-partner-copy h2{
  font-family:var(--display);
  font-weight:400;
  font-size:clamp(3.65rem,4.5vw,5.05rem);
  line-height:.92;
  letter-spacing:-.015em;
  max-width:620px;
  margin:0 0 22px;
}
.home-page .cg17-partner-copy p:not(.eyebrow){
  max-width:640px;
  margin:0 0 16px;
  color:#403e39;
  font-size:1rem;
  line-height:1.58;
}
.home-page .cg17-partner-copy .button{
  margin-top:10px;
}
.home-page .cg17-portrait-stage{
  position:relative;
  height:610px;
  min-width:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  isolation:isolate;
}
/* Warm architectural arch, entirely behind Cecil. */
.home-page .cg17-portrait-stage::before{
  content:"";
  position:absolute;
  z-index:0;
  top:72px;
  left:50%;
  width:76%;
  height:76%;
  transform:translateX(-50%);
  border-radius:52% 52% 8px 8px / 38% 38% 8px 8px;
  background:linear-gradient(180deg,rgba(222,211,196,.72),rgba(244,239,231,.32));
}
/* The thin ellipse is behind the portrait, never across the face/body. */
.home-page .cg17-portrait-stage::after{
  content:"";
  position:absolute;
  z-index:1;
  left:-10%;
  top:44%;
  width:118%;
  height:44%;
  border:1px solid rgba(168,148,124,.42);
  border-radius:50%;
  transform:rotate(-12deg);
}
.home-page .cg17-portrait-stage img{
  position:relative;
  z-index:2;
  display:block;
  height:610px;
  width:auto;
  max-width:none;
  margin:0;
  padding:0;
  object-fit:contain;
  object-position:center bottom;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:none;
  transform:none;
  opacity:1;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 87%,rgba(0,0,0,.92) 92%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 87%,rgba(0,0,0,.92) 92%,transparent 100%);
}
.home-page .cg17-partner-note{
  align-self:center;
  padding-left:30px;
  border-left:1px solid rgba(37,35,31,.18);
  margin:0;
}
.home-page .cg17-partner-note strong{
  display:block;
  font-family:var(--display);
  font-size:2.15rem;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.075em;
  line-height:1.04;
}
.home-page .cg17-partner-note span{
  display:block;
  width:38px;
  height:1px;
  background:var(--taupe);
  margin:20px 0;
}
.home-page .cg17-partner-note p{
  max-width:220px;
  margin:0;
  color:#514c45;
  font-size:.95rem;
  line-height:1.55;
}
.home-page .cg17-partner-section + .fit-section{
  padding-top:38px;
}
@media (min-width:981px) and (max-width:1250px){
  .home-page .cg17-partner-grid{
    width:min(calc(100% - 64px),1180px);
    grid-template-columns:minmax(0,1.08fr) minmax(370px,.84fr) minmax(190px,.40fr);
    gap:24px;
  }
  .home-page .cg17-partner-copy h2{font-size:clamp(3.2rem,4.4vw,4.3rem)}
  .home-page .cg17-portrait-stage{height:540px}
  .home-page .cg17-portrait-stage img{height:540px}
  .home-page .cg17-partner-note{padding-left:22px}
  .home-page .cg17-partner-note strong{font-size:1.85rem}
}
@media (min-width:641px) and (max-width:980px){
  .home-page .cg17-partner-section{padding:44px 0 40px}
  .home-page .cg17-partner-grid{
    width:min(calc(100% - 48px),820px);
    grid-template-columns:1fr .78fr;
    gap:28px;
    align-items:center;
  }
  .home-page .cg17-partner-copy h2{font-size:clamp(3rem,6vw,4rem)}
  .home-page .cg17-portrait-stage{height:470px}
  .home-page .cg17-portrait-stage img{height:470px}
  .home-page .cg17-partner-note{
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid rgba(37,35,31,.15);
    padding:22px 0 0;
  }
  .home-page .cg17-partner-note p{max-width:520px}
}
@media (max-width:640px){
  .home-page .cg17-partner-section{padding:34px 0 34px}
  .home-page .cg17-partner-grid{
    width:min(calc(100% - 32px),520px);
    grid-template-columns:1fr;
    gap:24px;
  }
  .home-page .cg17-partner-copy h2{font-size:3.2rem;line-height:.95}
  .home-page .cg17-portrait-stage{height:440px;order:2}
  .home-page .cg17-portrait-stage img{height:440px}
  .home-page .cg17-partner-note{
    order:3;
    border-left:0;
    border-top:1px solid rgba(37,35,31,.15);
    padding:22px 0 0;
  }
  .home-page .cg17-partner-note p{max-width:none}
}

/* =========================================================
   V18 - APPROVED ARCH PORTRAIT TREATMENT
   Implements the selected mock: large transparent Cecil cutout,
   warm rounded-top block, thin offset editorial rule.
   ========================================================= */
.home-page .cg18-partner-section{
  background:#fbf9f6;
  padding:52px 0 42px;
  overflow:hidden;
}
.home-page .cg18-partner-grid{
  width:min(1420px, calc(100% - 72px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(520px,1.25fr) minmax(430px,.95fr) minmax(230px,.48fr);
  gap:54px;
  align-items:end;
}
.home-page .cg18-partner-copy{
  align-self:center;
  max-width:690px;
  padding:4px 0 18px;
}
.home-page .cg18-partner-copy .eyebrow{
  margin:0 0 18px;
}
.home-page .cg18-partner-copy h2{
  margin:0 0 26px;
  max-width:680px;
  font-family:"Instrument Serif",serif;
  font-size:clamp(4rem,4.35vw,5.2rem);
  line-height:.92;
  font-weight:400;
  letter-spacing:-.025em;
  color:#25231f;
}
.home-page .cg18-partner-copy p:not(.eyebrow){
  max-width:660px;
  margin:0 0 16px;
  font-size:17px;
  line-height:1.55;
}
.home-page .cg18-partner-copy .button{
  margin-top:8px;
}
.home-page .cg18-portrait-stage{
  position:relative;
  min-height:540px;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
  isolation:isolate;
}
.home-page .cg18-portrait-arch{
  position:absolute;
  z-index:0;
  bottom:0;
  left:50%;
  width:340px;
  height:78%;
  transform:translateX(-50%);
  border-radius:170px 170px 0 0;
  background:#ede7dc;
}
.home-page .cg18-portrait-rule{
  position:absolute;
  z-index:1;
  bottom:24px;
  left:50%;
  width:380px;
  height:70%;
  transform:translateX(calc(-50% + 16px));
  border:1px solid rgba(90,107,78,.25);
  border-bottom:0;
  border-radius:190px 190px 0 0;
  pointer-events:none;
}
.home-page .cg18-portrait-stage img{
  position:relative;
  z-index:2;
  display:block;
  width:auto;
  height:520px;
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 40px rgba(40,45,35,.18));
}
.home-page .cg18-partner-note{
  align-self:center;
  border-left:1px solid rgba(37,35,31,.24);
  padding:0 0 0 28px;
  margin-bottom:18px;
}
.home-page .cg18-partner-note strong{
  display:block;
  font-family:"Instrument Serif",serif;
  font-size:2.25rem;
  font-weight:400;
  line-height:.94;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:#25231f;
}
.home-page .cg18-partner-note span{
  display:block;
  width:42px;
  height:1px;
  margin:24px 0 22px;
  background:#a8947c;
}
.home-page .cg18-partner-note p{
  max-width:220px;
  margin:0;
  font-size:16px;
  line-height:1.55;
}
.home-page .cg18-partner-section + .fit-section{
  padding-top:46px;
}
@media (max-width:1280px){
  .home-page .cg18-partner-grid{
    width:min(1180px, calc(100% - 48px));
    grid-template-columns:minmax(430px,1.15fr) minmax(350px,.9fr) minmax(210px,.45fr);
    gap:34px;
  }
  .home-page .cg18-partner-copy h2{font-size:clamp(3.5rem,4.4vw,4.5rem)}
  .home-page .cg18-portrait-stage{min-height:500px}
  .home-page .cg18-portrait-stage img{height:480px}
  .home-page .cg18-portrait-arch{width:320px}
  .home-page .cg18-portrait-rule{width:355px}
  .home-page .cg18-partner-note strong{font-size:2rem}
}
@media (max-width:1020px){
  .home-page .cg18-partner-section{padding:42px 0 38px}
  .home-page .cg18-partner-grid{
    grid-template-columns:1.1fr .9fr;
    gap:34px;
    align-items:center;
  }
  .home-page .cg18-partner-copy{padding-bottom:0}
  .home-page .cg18-partner-copy h2{font-size:clamp(3.2rem,6vw,4.15rem)}
  .home-page .cg18-portrait-stage{min-height:470px}
  .home-page .cg18-portrait-stage img{height:450px}
  .home-page .cg18-portrait-arch{width:300px}
  .home-page .cg18-portrait-rule{width:335px}
  .home-page .cg18-partner-note{
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(37,35,31,.18);
    padding:24px 0 0;
    margin:0;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:28px;
    align-items:start;
  }
  .home-page .cg18-partner-note span{display:none}
  .home-page .cg18-partner-note p{max-width:540px}
}
@media (max-width:760px){
  .home-page .cg18-partner-section{padding:34px 0 30px}
  .home-page .cg18-partner-grid{
    width:min(100% - 36px, 640px);
    grid-template-columns:1fr;
    gap:28px;
  }
  .home-page .cg18-partner-copy{order:1}
  .home-page .cg18-partner-copy h2{
    max-width:560px;
    font-size:clamp(3rem,13vw,4.4rem);
  }
  .home-page .cg18-partner-copy p:not(.eyebrow){font-size:16px}
  .home-page .cg18-portrait-stage{
    order:2;
    min-height:430px;
    justify-content:center;
  }
  .home-page .cg18-portrait-stage img{height:420px}
  .home-page .cg18-portrait-arch{width:300px}
  .home-page .cg18-portrait-rule{width:340px}
  .home-page .cg18-partner-note{
    order:3;
    display:block;
    border-top:1px solid rgba(37,35,31,.18);
    padding-top:22px;
  }
  .home-page .cg18-partner-note strong{font-size:1.9rem}
  .home-page .cg18-partner-note p{max-width:520px;margin-top:14px}
  .home-page .cg18-partner-section + .fit-section{padding-top:32px}
}

/* V18.1 — portrait scale/position refinement only.
   Preserve the approved arch treatment; make Cecil larger and pull the entire portrait composition upward. */
@media (min-width:1281px){
  .home-page .cg18-portrait-stage{
    min-height:540px;
    align-items:flex-end;
  }
  .home-page .cg18-portrait-stage img{
    height:560px;
    transform:translateY(-24px);
  }
  .home-page .cg18-portrait-arch{
    width:365px;
    height:78%;
    bottom:24px;
    border-radius:183px 183px 0 0;
  }
  .home-page .cg18-portrait-rule{
    width:405px;
    height:70%;
    bottom:48px;
    border-radius:203px 203px 0 0;
  }
}

@media (min-width:1021px) and (max-width:1280px){
  .home-page .cg18-portrait-stage img{
    height:500px;
    transform:translateY(-18px);
  }
  .home-page .cg18-portrait-arch{
    width:335px;
    bottom:18px;
  }
  .home-page .cg18-portrait-rule{
    width:370px;
    bottom:40px;
  }
}

/* =========================================================
   V18.2 - APPROVED SOFT-BLEED PORTRAIT FINISH
   Keep the approved portrait scale/arch exactly as-is.
   Only soften Cecil's lower edge into the page background and
   tighten the transition into the next section.
   ========================================================= */
.home-page .cg18-portrait-stage img{
  -webkit-mask-image:linear-gradient(
    to bottom,
    #000 0%,
    #000 81%,
    rgba(0,0,0,.96) 85%,
    rgba(0,0,0,.78) 89%,
    rgba(0,0,0,.46) 94%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    #000 0%,
    #000 81%,
    rgba(0,0,0,.96) 85%,
    rgba(0,0,0,.78) 89%,
    rgba(0,0,0,.46) 94%,
    transparent 100%
  );
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

@media (min-width:1021px){
  .home-page .cg18-partner-section{
    padding-bottom:18px;
  }
  .home-page .cg18-partner-section + .fit-section{
    padding-top:32px;
  }
}

@media (max-width:1020px){
  .home-page .cg18-portrait-stage img{
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.8) 91%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.8) 91%,transparent 100%);
  }
}

/* =========================================================
   V18.3 - VISIBLE SOFT BLEED
   The previous CSS mask only affected the last few pixels enough
   to be nearly invisible at the live desktop scale. This version
   uses a dedicated image wrapper and a real foreground gradient,
   so the bottom of Cecil's portrait visibly dissolves into the page.
   ========================================================= */
.home-page .cg18-portrait-image-wrap{
  position:relative;
  z-index:2;
  align-self:flex-end;
  width:max-content;
  height:560px;
  transform:translateY(-24px);
}
.home-page .cg18-portrait-image-wrap img{
  position:relative;
  z-index:1;
  display:block;
  width:auto;
  height:100%;
  max-width:none;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 18px 40px rgba(40,45,35,.18));
  transform:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.home-page .cg18-portrait-image-wrap::after{
  content:"";
  position:absolute;
  z-index:2;
  left:-8%;
  right:-8%;
  bottom:-2px;
  height:145px;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(244,239,231,0) 0%,
    rgba(244,239,231,.06) 15%,
    rgba(244,239,231,.22) 32%,
    rgba(244,239,231,.50) 52%,
    rgba(244,239,231,.78) 72%,
    rgba(244,239,231,.94) 88%,
    #f4efe7 100%
  );
}

@media (min-width:1021px) and (max-width:1280px){
  .home-page .cg18-portrait-image-wrap{
    height:500px;
    transform:translateY(-18px);
  }
  .home-page .cg18-portrait-image-wrap::after{height:130px}
}

@media (max-width:1020px){
  .home-page .cg18-portrait-image-wrap{
    height:450px;
    transform:none;
  }
  .home-page .cg18-portrait-image-wrap::after{height:115px}
}

@media (max-width:760px){
  .home-page .cg18-portrait-image-wrap{height:420px}
  .home-page .cg18-portrait-image-wrap::after{height:105px}
}

/* V19 locked portrait composition: match approved reference */
.home-page .cg19-partner-section{background:#fbf9f6;padding:54px 0 22px;overflow:hidden}
.home-page .cg19-partner-grid{width:min(1460px,calc(100% - 88px));margin:0 auto;display:grid;grid-template-columns:minmax(560px,1.25fr) minmax(455px,.96fr) minmax(240px,.48fr);gap:42px;align-items:center}
.home-page .cg19-partner-copy{align-self:center;max-width:690px;padding:0 0 8px}
.home-page .cg19-partner-copy .eyebrow{margin:0 0 18px}
.home-page .cg19-partner-copy h2{margin:0 0 26px;max-width:680px;font-family:"Instrument Serif",serif;font-size:clamp(4rem,4.35vw,5.2rem);line-height:.92;font-weight:400;letter-spacing:-.025em;color:#25231f}
.home-page .cg19-partner-copy p:not(.eyebrow){max-width:660px;margin:0 0 16px;font-size:17px;line-height:1.55}
.home-page .cg19-partner-copy .button{margin-top:8px}
.home-page .cg19-portrait-stage{position:relative;height:566px;display:flex;justify-content:center;align-items:flex-end;align-self:center;isolation:isolate}
.home-page .cg19-portrait-arch{position:absolute;z-index:0;left:50%;bottom:18px;width:370px;height:79%;transform:translateX(-50%);border-radius:185px 185px 0 0;background:#ede7dc}
.home-page .cg19-portrait-rule{position:absolute;z-index:1;left:50%;bottom:36px;width:410px;height:71%;transform:translateX(calc(-50% + 16px));border:1px solid rgba(90,107,78,.25);border-bottom:0;border-radius:205px 205px 0 0;pointer-events:none}
.home-page .cg19-portrait-image-wrap{position:relative;z-index:2;width:max-content;height:570px;transform:translateY(-8px)}
.home-page .cg19-portrait-image-wrap img{display:block;width:auto;height:100%;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 34px rgba(40,45,35,.14))}
.home-page .cg19-portrait-image-wrap::after{content:"";position:absolute;z-index:3;left:-3%;right:-3%;bottom:-1px;height:118px;pointer-events:none;background:linear-gradient(to bottom,rgba(251,249,246,0) 0%,rgba(251,249,246,.05) 14%,rgba(251,249,246,.18) 30%,rgba(251,249,246,.42) 49%,rgba(251,249,246,.70) 68%,rgba(251,249,246,.90) 86%,#fbf9f6 100%)}
.home-page .cg19-partner-note{align-self:center;border-left:1px solid rgba(37,35,31,.24);padding:0 0 0 28px;margin:0 0 6px}
.home-page .cg19-partner-note strong{display:block;font-family:"Instrument Serif",serif;font-size:2.25rem;font-weight:400;line-height:.94;text-transform:uppercase;letter-spacing:.02em;color:#25231f}
.home-page .cg19-partner-note span{display:block;width:42px;height:1px;margin:24px 0 22px;background:#a8947c}
.home-page .cg19-partner-note p{max-width:220px;margin:0;font-size:16px;line-height:1.55}
.home-page .cg19-partner-section + .fit-section{padding-top:34px}
@media(max-width:1280px){.home-page .cg19-partner-grid{width:min(1180px,calc(100% - 48px));grid-template-columns:minmax(430px,1.12fr) minmax(370px,.92fr) minmax(205px,.46fr);gap:30px}.home-page .cg19-partner-copy h2{font-size:clamp(3.45rem,4.4vw,4.45rem)}.home-page .cg19-portrait-stage{height:505px}.home-page .cg19-portrait-image-wrap{height:515px;transform:translateY(-6px)}.home-page .cg19-portrait-arch{width:335px;bottom:14px}.home-page .cg19-portrait-rule{width:370px;bottom:30px}.home-page .cg19-portrait-image-wrap::after{height:108px}.home-page .cg19-partner-note strong{font-size:2rem}}
@media(max-width:1020px){.home-page .cg19-partner-section{padding:42px 0 34px}.home-page .cg19-partner-grid{grid-template-columns:1.1fr .9fr;gap:32px}.home-page .cg19-partner-copy h2{font-size:clamp(3.2rem,6vw,4.1rem)}.home-page .cg19-portrait-stage{height:470px}.home-page .cg19-portrait-image-wrap{height:475px;transform:none}.home-page .cg19-portrait-arch{width:305px;bottom:8px}.home-page .cg19-portrait-rule{width:338px;bottom:24px}.home-page .cg19-portrait-image-wrap::after{height:96px}.home-page .cg19-partner-note{grid-column:1/-1;border-left:0;border-top:1px solid rgba(37,35,31,.18);padding:22px 0 0;display:grid;grid-template-columns:auto 1fr;column-gap:28px;align-items:start}.home-page .cg19-partner-note span{display:none}.home-page .cg19-partner-note p{max-width:540px}}
@media(max-width:760px){.home-page .cg19-partner-section{padding:34px 0 28px}.home-page .cg19-partner-grid{width:min(100% - 36px,640px);grid-template-columns:1fr;gap:26px}.home-page .cg19-partner-copy{order:1}.home-page .cg19-partner-copy h2{font-size:clamp(3rem,13vw,4.35rem)}.home-page .cg19-partner-copy p:not(.eyebrow){font-size:16px}.home-page .cg19-portrait-stage{order:2;height:450px}.home-page .cg19-portrait-image-wrap{height:450px}.home-page .cg19-portrait-arch{width:300px}.home-page .cg19-portrait-rule{width:336px}.home-page .cg19-portrait-image-wrap::after{height:92px}.home-page .cg19-partner-note{order:3;display:block;border-top:1px solid rgba(37,35,31,.18);padding-top:22px}.home-page .cg19-partner-note strong{font-size:1.9rem}.home-page .cg19-partner-note p{max-width:520px;margin-top:14px}}

/* v20: original headshot implementation for homepage editorial hero */
.home-page .cg19-partner-section{background:#fbf9f6;padding:58px 0 12px;overflow:hidden}
.home-page .cg19-partner-grid{width:min(1500px,calc(100% - 84px));margin:0 auto;display:grid;grid-template-columns:minmax(560px,1.22fr) minmax(520px,1.02fr) minmax(230px,.46fr);gap:18px;align-items:center}
.home-page .cg19-partner-copy{max-width:700px;padding:0 0 8px}
.home-page .cg19-partner-copy h2{max-width:700px}
.home-page .cg19-partner-copy p:not(.eyebrow){max-width:675px}
.home-page .cg19-portrait-stage{position:relative;height:670px;display:flex;justify-content:center;align-items:flex-end;align-self:center;isolation:isolate;overflow:visible}
.home-page .cg19-portrait-stage::before{content:"";position:absolute;z-index:1;left:-32px;bottom:164px;width:690px;height:280px;border-top:1.35px solid rgba(201,182,152,.7);border-radius:50%;transform:rotate(-27deg);pointer-events:none}
.home-page .cg19-portrait-arch{position:absolute;z-index:0;left:56%;bottom:40px;width:470px;height:82%;transform:translateX(-50%);border-radius:235px 235px 0 0;background:#ede7dc}
.home-page .cg19-portrait-rule{display:none}
.home-page .cg19-portrait-image-wrap{position:absolute;z-index:2;left:50%;bottom:-12px;width:max-content;height:735px;transform:translateX(-50%)}
.home-page .cg19-portrait-image-wrap img{display:block;width:auto;height:100%;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 34px rgba(40,45,35,.13))}
.home-page .cg19-portrait-image-wrap::after{content:"";position:absolute;z-index:3;left:-15%;right:-15%;bottom:-2px;height:174px;pointer-events:none;background:linear-gradient(to bottom,rgba(251,249,246,0) 0%,rgba(251,249,246,.03) 12%,rgba(251,249,246,.12) 24%,rgba(251,249,246,.30) 40%,rgba(251,249,246,.56) 58%,rgba(251,249,246,.82) 78%,rgba(251,249,246,.95) 90%,#fbf9f6 100%)}
.home-page .cg19-partner-note{align-self:center;border-left:1px solid rgba(37,35,31,.24);padding:0 0 0 36px;margin:0 0 10px}
.home-page .cg19-partner-note strong{font-size:2.45rem;line-height:.95}
.home-page .cg19-partner-note p{max-width:225px;font-size:16px;line-height:1.58}
.home-page .cg19-partner-section + .fit-section{padding-top:8px}

@media(max-width:1360px){
  .home-page .cg19-partner-grid{width:min(1260px,calc(100% - 54px));grid-template-columns:minmax(430px,1.08fr) minmax(430px,.96fr) minmax(205px,.42fr);gap:18px}
  .home-page .cg19-partner-copy h2{font-size:clamp(3.55rem,4.1vw,4.7rem)}
  .home-page .cg19-portrait-stage{height:610px}
  .home-page .cg19-portrait-stage::before{left:-24px;bottom:146px;width:610px;height:240px}
  .home-page .cg19-portrait-arch{width:420px;bottom:34px}
  .home-page .cg19-portrait-image-wrap{height:670px;bottom:-8px}
  .home-page .cg19-portrait-image-wrap::after{height:160px}
  .home-page .cg19-partner-note strong{font-size:2.2rem}
}

@media(max-width:1100px){
  .home-page .cg19-partner-section{padding:42px 0 28px}
  .home-page .cg19-partner-grid{grid-template-columns:1.05fr .95fr;gap:28px}
  .home-page .cg19-partner-copy h2{font-size:clamp(3.15rem,5.9vw,4.25rem)}
  .home-page .cg19-portrait-stage{height:560px}
  .home-page .cg19-portrait-stage::before{left:-6px;bottom:132px;width:530px;height:210px}
  .home-page .cg19-portrait-arch{left:54%;width:390px;bottom:28px}
  .home-page .cg19-portrait-image-wrap{height:610px;bottom:-8px}
  .home-page .cg19-portrait-image-wrap::after{height:148px}
  .home-page .cg19-partner-note{grid-column:1/-1;border-left:0;border-top:1px solid rgba(37,35,31,.18);padding:22px 0 0;display:grid;grid-template-columns:auto 1fr;column-gap:28px;align-items:start}
  .home-page .cg19-partner-note strong{font-size:2rem}
  .home-page .cg19-partner-note span{display:none}
  .home-page .cg19-partner-note p{max-width:540px}
}

@media(max-width:760px){
  .home-page .cg19-partner-section{padding:34px 0 28px}
  .home-page .cg19-partner-grid{width:min(100% - 36px,640px);grid-template-columns:1fr;gap:24px}
  .home-page .cg19-partner-copy{order:1}
  .home-page .cg19-partner-copy h2{font-size:clamp(2.95rem,13vw,4.25rem)}
  .home-page .cg19-partner-copy p:not(.eyebrow){font-size:16px}
  .home-page .cg19-portrait-stage{order:2;height:500px}
  .home-page .cg19-portrait-stage::before{left:50%;bottom:122px;width:430px;height:168px;transform:translateX(-50%) rotate(-24deg)}
  .home-page .cg19-portrait-arch{left:50%;width:325px;bottom:22px}
  .home-page .cg19-portrait-image-wrap{height:560px;bottom:-8px}
  .home-page .cg19-portrait-image-wrap::after{height:138px}
  .home-page .cg19-partner-note{order:3;display:block;border-top:1px solid rgba(37,35,31,.18);padding-top:22px}
  .home-page .cg19-partner-note strong{font-size:1.9rem}
  .home-page .cg19-partner-note p{max-width:520px;margin-top:14px}
}

/* v20.1 header CTA polish */
@media (min-width:981px){
  .top-cta,
  .home-page .top-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:66px;
    padding:0 30px;
    font-family:var(--display);
    font-size:1.34rem;
    line-height:1;
    letter-spacing:-.01em;
    white-space:nowrap;
  }
  .top-cta span,
  .home-page .top-cta span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-family:var(--body);
    font-size:1.12rem;
    line-height:1;
    transform:translateY(1px);
  }
}

/* =========================================================
   V20.2 - LOCKED HOMEPAGE PORTRAIT
   Based on the approved editorial mock + Claude's stable
   explicit portrait sizing approach. Only this block should
   control the homepage Cecil portrait going forward.
   ========================================================= */

@media (min-width:1281px){
  .home-page .cg19-partner-section{
    background:#fbf9f6;
    padding:48px 0 0;
    overflow:hidden;
  }

  .home-page .cg19-partner-grid{
    width:min(1500px,calc(100% - 84px));
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(560px,1.18fr) minmax(520px,1.05fr) minmax(230px,.45fr);
    gap:28px;
    align-items:end;
  }

  .home-page .cg19-partner-copy{
    align-self:center;
    max-width:700px;
    padding:0 0 36px;
  }

  .home-page .cg19-partner-copy h2{max-width:700px}
  .home-page .cg19-partner-copy p:not(.eyebrow){max-width:675px}

  .home-page .cg19-portrait-stage{
    position:relative;
    height:670px;
    min-width:0;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    align-self:end;
    isolation:isolate;
    overflow:visible;
  }

  /* warm architectural arch */
  .home-page .cg19-portrait-arch{
    position:absolute;
    z-index:0;
    left:56%;
    bottom:0;
    width:430px;
    height:530px;
    transform:translateX(-50%);
    border-radius:215px 215px 0 0;
    background:#ede7dc;
  }

  /* one thin editorial ellipse, entirely BEHIND Cecil */
  .home-page .cg19-portrait-rule{
    display:block;
    position:absolute;
    z-index:1;
    left:50%;
    bottom:150px;
    width:650px;
    height:260px;
    transform:translateX(-50%) rotate(-24deg);
    border:1.2px solid rgba(168,148,124,.48);
    border-radius:50%;
    pointer-events:none;
  }

  .home-page .cg19-portrait-stage::before,
  .home-page .cg19-portrait-stage::after{
    content:none!important;
    display:none!important;
  }

  /* stable explicit wrapper: prevents the portrait from shrinking */
  .home-page .cg19-portrait-image-wrap{
    position:relative;
    z-index:2;
    left:auto;
    bottom:auto;
    width:max-content;
    height:700px;
    transform:none;
    align-self:flex-end;
  }

  .home-page .cg19-portrait-image-wrap img{
    position:relative;
    z-index:2;
    display:block;
    width:auto;
    height:100%;
    max-width:none;
    object-fit:contain;
    object-position:center bottom;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    filter:drop-shadow(0 18px 34px rgba(40,45,35,.14));
    transform:none;
    /* Fade ONLY the person, not the arch/background. */
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%);
  }

  .home-page .cg19-portrait-image-wrap::after{
    content:none!important;
    display:none!important;
  }

  .home-page .cg19-partner-note{
    align-self:center;
    border-left:1px solid rgba(37,35,31,.24);
    padding:0 0 0 32px;
    margin:0 0 26px;
  }

  .home-page .cg19-partner-note strong{
    font-size:2.35rem;
    line-height:.95;
  }

  .home-page .cg19-partner-note p{
    max-width:225px;
    font-size:16px;
    line-height:1.58;
  }

  .home-page .cg19-partner-section + .fit-section{padding-top:16px}
}

@media (min-width:1021px) and (max-width:1280px){
  .home-page .cg19-partner-section{padding:44px 0 0;overflow:hidden}
  .home-page .cg19-partner-grid{
    width:min(1180px,calc(100% - 48px));
    grid-template-columns:minmax(430px,1.08fr) minmax(410px,.96fr) minmax(205px,.42fr);
    gap:22px;
    align-items:end;
  }
  .home-page .cg19-partner-copy{align-self:center;padding-bottom:28px}
  .home-page .cg19-portrait-stage{height:570px;align-self:end;overflow:visible}
  .home-page .cg19-portrait-arch{display:block;left:55%;bottom:0;width:360px;height:445px;border-radius:180px 180px 0 0;background:#ede7dc;transform:translateX(-50%)}
  .home-page .cg19-portrait-rule{display:block;left:50%;bottom:126px;width:540px;height:220px;transform:translateX(-50%) rotate(-24deg);border:1px solid rgba(168,148,124,.45);border-radius:50%}
  .home-page .cg19-portrait-stage::before,.home-page .cg19-portrait-stage::after{content:none!important;display:none!important}
  .home-page .cg19-portrait-image-wrap{position:relative;left:auto;bottom:auto;height:600px;transform:none;align-self:flex-end}
  .home-page .cg19-portrait-image-wrap img{height:100%;filter:drop-shadow(0 16px 30px rgba(40,45,35,.13));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%)}
  .home-page .cg19-portrait-image-wrap::after{content:none!important;display:none!important}
  .home-page .cg19-partner-note{align-self:center;margin-bottom:24px;padding-left:24px}
  .home-page .cg19-partner-section + .fit-section{padding-top:16px}
}

@media (min-width:761px) and (max-width:1020px){
  .home-page .cg19-partner-section{padding:42px 0 26px;overflow:hidden}
  .home-page .cg19-partner-grid{grid-template-columns:1.06fr .94fr;gap:28px;align-items:end}
  .home-page .cg19-partner-copy{align-self:center;padding-bottom:16px}
  .home-page .cg19-portrait-stage{height:500px;align-self:end;overflow:visible}
  .home-page .cg19-portrait-arch{display:block;left:52%;bottom:0;width:310px;height:390px;border-radius:155px 155px 0 0;background:#ede7dc;transform:translateX(-50%)}
  .home-page .cg19-portrait-rule{display:block;left:50%;bottom:112px;width:430px;height:180px;transform:translateX(-50%) rotate(-24deg);border:1px solid rgba(168,148,124,.42);border-radius:50%}
  .home-page .cg19-portrait-stage::before,.home-page .cg19-portrait-stage::after{content:none!important;display:none!important}
  .home-page .cg19-portrait-image-wrap{position:relative;left:auto;bottom:auto;height:525px;transform:none;align-self:flex-end}
  .home-page .cg19-portrait-image-wrap img{height:100%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%)}
  .home-page .cg19-portrait-image-wrap::after{content:none!important;display:none!important}
  .home-page .cg19-partner-note{grid-column:1/-1;border-left:0;border-top:1px solid rgba(37,35,31,.18);padding:22px 0 0;margin:0}
}

@media (max-width:760px){
  .home-page .cg19-partner-section{padding:34px 0 24px;overflow:hidden}
  .home-page .cg19-partner-grid{width:min(100% - 36px,640px);grid-template-columns:1fr;gap:22px}
  .home-page .cg19-partner-copy{order:1;padding:0}
  .home-page .cg19-portrait-stage{order:2;height:470px;align-self:end;overflow:visible}
  .home-page .cg19-portrait-arch{display:block;left:50%;bottom:0;width:285px;height:350px;border-radius:143px 143px 0 0;background:#ede7dc;transform:translateX(-50%)}
  .home-page .cg19-portrait-rule{display:block;left:50%;bottom:100px;width:370px;height:150px;transform:translateX(-50%) rotate(-24deg);border:1px solid rgba(168,148,124,.4);border-radius:50%}
  .home-page .cg19-portrait-stage::before,.home-page .cg19-portrait-stage::after{content:none!important;display:none!important}
  .home-page .cg19-portrait-image-wrap{position:relative;left:auto;bottom:auto;height:500px;transform:none;align-self:flex-end}
  .home-page .cg19-portrait-image-wrap img{height:100%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 88%,rgba(0,0,0,.98) 91%,rgba(0,0,0,.78) 95%,transparent 100%)}
  .home-page .cg19-portrait-image-wrap::after{content:none!important;display:none!important}
  .home-page .cg19-partner-note{order:3;margin:0;display:block;border-left:0;border-top:1px solid rgba(37,35,31,.18);padding-top:22px}
  .home-page .cg19-partner-section + .fit-section{padding-top:22px}
}

/* =========================================================
   V20.5 - HOMEPAGE TOP RHYTHM + HEADER BALANCE
   Target: tighter premium header, calmer hero height,
   stronger proof strip, faster transition into Cecil section.
   ========================================================= */
@media (min-width:981px){
  .home-page .site-header{
    height:108px;
    min-height:108px;
  }

  .home-page .nav-shell{
    width:min(calc(100% - 104px),1480px);
    height:100%;
    grid-template-columns:1fr auto 1fr;
    gap:30px;
    align-items:center;
  }

  .home-page .brand-mark-header{
    justify-self:start;
    min-width:0;
  }

  .home-page .site-logo-header{
    width:276px;
    max-height:70px;
  }

  .home-page .desktop-nav{
    justify-self:center;
    height:100%;
    display:flex;
    align-items:center;
    gap:34px;
    font-size:18px;
    font-weight:500;
  }

  .home-page .desktop-nav a{
    position:relative;
    height:100%;
    display:flex;
    align-items:center;
    padding:0;
    border-bottom:0;
    line-height:1;
  }

  .home-page .desktop-nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:23px;
    height:1.5px;
    background:transparent;
  }

  .home-page .desktop-nav a:hover::after,
  .home-page .desktop-nav a.active::after{
    background:var(--taupe);
  }

  .home-page .top-cta{
    justify-self:end;
    min-height:58px;
    padding:0 25px;
    gap:10px;
    font-size:1.24rem;
    line-height:1;
  }

  .home-page .top-cta span{
    font-size:1rem;
    transform:none;
  }

  .home-page .mobile-menu{top:108px}

  .home-page .hero{
    height:390px;
  }

  .home-page .hero-bg{
    object-position:center 54%;
  }

  .home-page .proof-grid-wide{
    width:min(calc(100% - 104px),1480px);
    margin:0 auto;
  }

  .home-page .proof-strip-large .proof-item{
    min-height:82px;
    padding:15px 24px;
    gap:16px;
    justify-content:center;
  }

  .home-page .proof-strip-large .proof-item strong{
    font-size:21px;
    line-height:1.08;
  }

  .home-page .proof-strip-large .proof-item small{
    font-size:15px;
    line-height:1.25;
    margin-top:5px;
  }

  .home-page .proof-strip-large .proof-icon{
    font-size:1.82rem;
  }

  .home-page .proof-strip-large .proof-item:not(:last-child)::after{
    top:12px;
    bottom:12px;
    opacity:.78;
  }

  .home-page .cg19-partner-section{
    padding-top:30px;
  }
}

@media (min-width:981px) and (max-width:1180px){
  .home-page .nav-shell{width:min(calc(100% - 64px),1180px);gap:22px}
  .home-page .site-logo-header{width:248px}
  .home-page .desktop-nav{gap:27px;font-size:17px}
  .home-page .top-cta{padding:0 20px;font-size:1.16rem}
  .home-page .proof-grid-wide{width:min(calc(100% - 64px),1180px)}
}

/* ==========================================================================\n   Consolidated former page-level styles\n   ========================================================================== */

/* Homepage-only card imagery and media badge. */
.home-page .fit-photo{height:185px;overflow:hidden;background:var(--sand);margin:-1px -1px 18px}
.home-page .fit-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.home-page .fit-card:hover .fit-photo img{transform:scale(1.025)}
.home-page .media-card .thumb .podcast-badge{position:absolute;left:16px;bottom:16px;background:var(--olive-dark);color:#fff;font:700 11px/1 Karla,sans-serif;letter-spacing:.16em;padding:9px 11px;border-radius:0}
@media(max-width:700px){.home-page .fit-photo{height:170px}}

/* Media page badge positioning. */
.media-page .media-card .thumb{position:relative}
.media-page .media-card .thumb .podcast-badge{position:absolute;left:16px;bottom:16px;background:var(--olive-dark);color:#fff;font:700 11px/1 Karla,sans-serif;letter-spacing:.16em;padding:9px 11px}

/* Contact consent readability. */
.contact-page .sms-consent-copy{font-size:16px;line-height:1.6;color:var(--charcoal);font-weight:400}
.contact-page .sms-policy-links{font-size:16px;line-height:1.5}
.contact-page .sms-policy-links a{color:var(--olive-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Project index image crop. */
.projects-page .past-project-grid img{aspect-ratio:4/3;object-fit:cover}

/* Thank-you pages. */
.thanks-page .thanks{min-height:65vh;display:grid;place-items:center;background:var(--ivory);padding:70px 20px;text-align:center}
.thanks-page .thanks h1{font-family:var(--display);font-size:clamp(3rem,7vw,5rem);font-weight:400;margin:8px 0 14px}
.thanks-page .thanks p{max-width:620px;margin:0 auto 24px;color:#59534b}

/* Testimonial page. */
.testimonial-page .testimonial-hero{background:linear-gradient(135deg,var(--ivory),var(--sand));padding:70px 0 58px}
.testimonial-page .testimonial-hero h1{font-family:var(--display);font-size:clamp(3.2rem,7vw,5.8rem);font-weight:400;line-height:.92;margin:8px 0 18px;max-width:820px}
.testimonial-page .testimonial-hero .lead{max-width:700px;color:#555047;font-size:1.05rem}
.testimonial-page .review-section{padding:64px 0;background:var(--white)}
.testimonial-page .review-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px;align-items:start}
.testimonial-page .review-aside{background:var(--ivory);padding:32px;position:sticky;top:24px}
.testimonial-page .review-aside h2{font-family:var(--display);font-size:2.2rem;font-weight:400;margin:0 0 12px}
.testimonial-page .review-aside p,.testimonial-page .review-aside ul{color:#5c564e;line-height:1.65}
.testimonial-page .review-aside ul{padding-left:18px;line-height:1.7}
.testimonial-page .review-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.testimonial-page .review-form label{display:grid;gap:7px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.testimonial-page .review-form .full{grid-column:1/-1}
.testimonial-page .review-form input,.testimonial-page .review-form select,.testimonial-page .review-form textarea{width:100%;padding:14px;border:1px solid rgba(37,35,31,.18);background:#fff;color:var(--charcoal);font:inherit}
.testimonial-page .review-form textarea{min-height:180px;resize:vertical}
.testimonial-page .review-form .consent{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:500;line-height:1.45}
.testimonial-page .review-form .consent input{width:auto;margin-top:4px}
.testimonial-page .review-form button{grid-column:1/-1;justify-self:start;border:0;cursor:pointer}
.testimonial-page .form-helper{grid-column:1/-1;color:#70695f;font-size:.78rem;line-height:1.5}
@media(max-width:800px){.testimonial-page .review-layout{grid-template-columns:1fr}.testimonial-page .review-aside{position:static}}
@media(max-width:600px){.testimonial-page .review-form{grid-template-columns:1fr}.testimonial-page .review-form .full{grid-column:1}}


/* ==========================================================================
   Partners page - unique content only. Header/footer/nav inherit shared system.
   ========================================================================== */
body.partners-page main .shell{width:min(1180px,calc(100% - 64px));margin:0 auto}
body.partners-page .hero{position:relative;min-height:430px;display:flex;align-items:center;overflow:hidden;background:#101916;color:#fff}
body.partners-page .hero-bg{position:absolute;top:0;right:0;bottom:0;left:auto;width:60%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.93) contrast(1.02);z-index:0}
body.partners-page .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101916 0%,#101916 37%,rgba(16,25,22,.98) 41%,rgba(16,25,22,.88) 46%,rgba(16,25,22,.52) 53%,rgba(16,25,22,.10) 62%,rgba(16,25,22,0) 70%);z-index:1;pointer-events:none}
body.partners-page .hero .shell{position:relative;z-index:2;padding:58px 0}
body.partners-page .hero-copy{max-width:475px}
body.partners-page .hero .eyebrow{color:#fff;margin-bottom:10px}
body.partners-page .hero h1{font-family:var(--display);font-size:64px;line-height:.96;font-weight:400;margin:0 0 20px;letter-spacing:-.02em}
body.partners-page .hero p{font-size:17px;line-height:1.42;margin:0 0 28px;max-width:465px}
body.partners-page .button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:15px 28px;min-height:50px;border:1px solid transparent;font-size:16px;font-weight:500;transition:.2s ease}
body.partners-page .button-olive{background:var(--olive);color:#fff;border-color:rgba(255,255,255,.34)}
body.partners-page .button-olive:hover{background:var(--olive-dark)}
body.partners-page .button-light{background:#fff;color:var(--charcoal);min-width:220px}
body.partners-page .button-light:hover{background:var(--ivory)}
body.partners-page .benefits{background:var(--white);border-bottom:1px solid rgba(37,35,31,.05)}
body.partners-page .benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 0 32px}
body.partners-page .benefit{padding:0 26px;text-align:center;position:relative}
body.partners-page .benefit:not(:last-child)::after{content:"";position:absolute;right:0;top:12px;bottom:4px;width:1px;background:var(--line)}
body.partners-page .benefit-icon{width:62px;height:62px;border:1px solid var(--charcoal);border-radius:50%;display:grid;place-items:center;margin:0 auto 14px}
body.partners-page .benefit-icon svg{width:33px;height:33px;stroke:var(--charcoal);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.partners-page .benefit h2{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.05;margin:0 0 7px}
body.partners-page .benefit p{margin:0;color:var(--muted);font-size:15px;line-height:1.35}
body.partners-page .audiences{padding:68px 0 58px;background:var(--ivory)}
body.partners-page .audience-layout{display:grid;grid-template-columns:1.18fr 2.12fr;gap:42px;align-items:start}
body.partners-page .audience-intro{padding-top:2px}
body.partners-page .audience-intro h2{font-family:var(--display);font-size:54px;line-height:.94;font-weight:400;margin:0 0 24px;letter-spacing:-.02em}
body.partners-page .audience-intro p{font-size:16px;color:#4f4c47;margin:0;max-width:430px}
body.partners-page .audience-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
body.partners-page .audience-card img{width:100%;aspect-ratio:.96/1;object-fit:cover;background:#ddd}
body.partners-page .audience-card h3{font-family:var(--display);font-size:23px;font-weight:400;margin:12px 0 4px;line-height:1}
body.partners-page .audience-card p{margin:0;color:#54514c;font-size:14px;line-height:1.36}
body.partners-page .process{padding:22px 0 48px;background:var(--ivory)}
body.partners-page .process .eyebrow{margin-bottom:20px}
body.partners-page .process-grid{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr 40px 1fr;align-items:start}
body.partners-page .step{text-align:center;padding:0 6px}
body.partners-page .step-number{width:48px;height:48px;border-radius:50%;background:var(--olive);color:white;display:grid;place-items:center;margin:0 auto 12px;font-family:var(--display);font-size:28px}
body.partners-page .step h3{font-family:var(--display);font-size:22px;font-weight:400;line-height:1.05;margin:0 0 8px}
body.partners-page .step p{font-size:14px;color:#5b5853;margin:0 auto;max-width:230px;line-height:1.35}
body.partners-page .step-arrow{display:grid;place-items:center;padding-top:18px;font-size:26px;color:#666}
body.partners-page .talk{position:relative;overflow:hidden;color:white;min-height:235px;display:flex;align-items:center}
body.partners-page .talk-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
body.partners-page .talk::after{content:"";position:absolute;inset:0;background:rgba(44,62,49,.78)}
body.partners-page .talk-grid{position:relative;z-index:2;width:min(1180px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:1.5fr .7fr;gap:40px;align-items:center;padding:40px 0}
body.partners-page .talk h2{font-family:var(--display);font-size:58px;line-height:.9;font-weight:400;margin:0 0 14px}
body.partners-page .talk p{font-size:17px;margin:0;max-width:660px}
body.partners-page .talk-action{display:flex;justify-content:flex-end}
@media (max-width:1050px){
body.partners-page .talk-grid{width:min(100% - 44px,1180px)}
body.partners-page .hero h1{font-size:56px}
body.partners-page .hero-bg{width:58%;object-position:47% center}
body.partners-page .hero::before{background:linear-gradient(90deg,#101916 0%,#101916 39%,rgba(16,25,22,.96) 44%,rgba(16,25,22,.58) 54%,rgba(16,25,22,.08) 66%,rgba(16,25,22,0) 72%)}
body.partners-page .audience-layout{grid-template-columns:1fr}
body.partners-page .audience-intro{max-width:720px}
body.partners-page .audience-cards{gap:14px}
body.partners-page .audience-intro h2{font-size:50px}
}
@media (max-width:820px){
body.partners-page .hero{min-height:465px}
body.partners-page .hero-bg{inset:0;width:100%;height:100%;object-position:46% center}
body.partners-page .hero::before{background:linear-gradient(90deg,rgba(9,17,15,.96) 0%,rgba(9,17,15,.87) 56%,rgba(9,17,15,.48) 100%)}
body.partners-page .hero .shell{padding:58px 0}
body.partners-page .hero-copy{max-width:540px}
body.partners-page .hero h1{font-size:54px}
body.partners-page .hero p{font-size:17px;max-width:520px}
body.partners-page .benefit-grid{grid-template-columns:1fr 1fr}
body.partners-page .benefit{padding:24px 18px}
body.partners-page .benefit:nth-child(2)::after{display:none}
body.partners-page .benefit:nth-child(-n/**/+2){border-bottom:1px solid var(--line)}
body.partners-page .audiences{padding:52px 0 44px}
body.partners-page .audience-cards{grid-template-columns:1fr 1fr;gap:28px 16px}
body.partners-page .audience-intro h2{font-size:48px}
body.partners-page .process{padding-top:12px}
body.partners-page .process-grid{grid-template-columns:1fr 34px 1fr;row-gap:30px}
body.partners-page .process-grid .step:nth-of-type(3){grid-column:1}
body.partners-page .process-grid .step:nth-of-type(4){grid-column:3}
body.partners-page .step-arrow:nth-of-type(2){display:none}
body.partners-page .talk-grid{grid-template-columns:1fr;gap:24px}
body.partners-page .talk-action{justify-content:flex-start}
body.partners-page .talk h2{font-size:52px}
}
@media (max-width:560px){
body.partners-page .talk-grid{width:min(100% - 32px,1180px)}
body.partners-page .hero{min-height:500px}
body.partners-page .hero-bg{inset:0;width:100%;height:100%;object-position:42% center}
body.partners-page .hero::before{background:linear-gradient(90deg,rgba(8,15,13,.97) 0%,rgba(8,15,13,.88) 62%,rgba(8,15,13,.54) 100%)}
body.partners-page .hero .shell{padding:52px 0}
body.partners-page .hero h1{font-size:48px}
body.partners-page .hero p{font-size:16px;max-width:100%}
body.partners-page .button{padding:14px 21px}
body.partners-page .benefit-grid{grid-template-columns:1fr}
body.partners-page .benefit:not(:last-child)::after{display:none}
body.partners-page .benefit{border-bottom:1px solid var(--line)!important;padding:26px 0}
body.partners-page .benefit:last-child{border-bottom:0!important}
body.partners-page .audiences{padding:46px 0}
body.partners-page .audience-intro h2{font-size:44px}
body.partners-page .audience-cards{grid-template-columns:1fr 1fr}
body.partners-page .audience-card h3{font-size:21px}
body.partners-page .audience-card p{font-size:13px}
body.partners-page .process-grid{display:block}
body.partners-page .step{padding:12px 0 24px}
body.partners-page .step-arrow{transform:rotate(90deg);padding:0 0 6px}
body.partners-page .step-arrow:last-of-type{display:none}
body.partners-page .talk{min-height:300px}
body.partners-page .talk h2{font-size:48px}
body.partners-page .talk p{font-size:16px}
body.partners-page .talk-action{width:100%}
body.partners-page .talk-action .button{width:100%}
}
body.partners-page .acquisition-guide{padding:12px 0 36px;background:var(--white)}
body.partners-page .acquisition-guide details{border:1px solid rgba(37,35,31,.18);padding:22px 26px;scroll-margin-top:110px}
body.partners-page .acquisition-guide summary{cursor:pointer;font-family:"Instrument Serif",Georgia,serif;font-size:30px;line-height:1.2}
body.partners-page .acquisition-guide p{font-size:16px;line-height:1.6;margin:16px 0 0}
body.partners-page .acquisition-guide .screening-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
body.partners-page .acquisition-guide .screening-grid div{padding:16px;background:#ede7dc}
body.partners-page .acquisition-guide strong{display:block;font-size:19px;margin-bottom:6px}
@media (max-width:700px){
body.partners-page .acquisition-guide .screening-grid{grid-template-columns:1fr 1fr}
body.partners-page .acquisition-guide details{padding:18px}
}
body.partners-page .partners-testimonials{background:#fbf9f6;padding:76px 0 70px;border-top:1px solid rgba(37,35,31,.06)}
body.partners-page .partners-testimonials-head{text-align:center;max-width:820px;margin:0 auto 34px}
body.partners-page .partners-testimonials-head .eyebrow{display:flex;align-items:center;justify-content:center;gap:18px;color:#5d584f}
body.partners-page .partners-testimonials-head .eyebrow::before,
body.partners-page .partners-testimonials-head .eyebrow::after{content:"";width:68px;height:1px;background:#a8947c}
body.partners-page .partners-testimonials-head h2{font-family:var(--display);font-size:clamp(3rem,5vw,4.7rem);font-weight:400;line-height:.98;margin:8px 0 18px}
body.partners-page .partners-testimonials-head>p:last-child{margin:0 auto;color:#5f5951;font-size:1.02rem;line-height:1.55;max-width:700px}
body.partners-page .partners-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.partners-page .partners-testimonial-card{background:#fffdf9;border:1px solid rgba(37,35,31,.1);padding:34px 32px 30px;min-height:370px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(37,35,31,.025)}
body.partners-page .partners-quote-mark{font-family:Georgia,serif;font-size:72px;line-height:.75;color:#b9a58c;height:56px;margin-bottom:18px}
body.partners-page .partners-testimonial-card blockquote{font-family:var(--display);font-size:clamp(1.45rem,2vw,1.82rem);font-style:italic;line-height:1.24;margin:0;color:#34312c}
body.partners-page .partners-testimonial-rule{width:48px;height:1px;background:#6b665d;margin:auto 0 20px}
body.partners-page .partners-testimonial-name{font-size:.94rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;margin-bottom:4px}
body.partners-page .partners-testimonial-meta{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#625d55;line-height:1.5}
@media (max-width:900px){
body.partners-page .partners-testimonial-grid{grid-template-columns:1fr}
body.partners-page .partners-testimonial-card{min-height:auto}
body.partners-page .partners-testimonial-rule{margin:28px 0 20px}
}
@media (max-width:560px){
body.partners-page .partners-testimonials{padding:54px 0 50px}
body.partners-page .partners-testimonials-head{margin-bottom:26px}
body.partners-page .partners-testimonials-head .eyebrow::before,
body.partners-page .partners-testimonials-head .eyebrow::after{width:36px}
body.partners-page .partners-testimonial-card{padding:28px 24px 26px}
}

body.partners-page .partner-review-invite{background:#f4efe7;border-top:1px solid rgba(37,35,31,.08);border-bottom:1px solid rgba(37,35,31,.08)}
body.partners-page .partner-review-invite .shell{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:38px 0}
body.partners-page .partner-review-invite h2{font-family:var(--display);font-size:38px;font-weight:400;margin:4px 0 8px}
body.partners-page .partner-review-invite p{margin:0;color:#5f5951}
body.partners-page .partner-review-invite .review-link{display:inline-flex;align-items:center;gap:14px;background:var(--olive-dark);color:#fff;padding:16px 22px;white-space:nowrap}
body.partners-page .exp-mini-logo{width:92px;height:auto;object-fit:contain;background:#fff;padding:3px 6px;margin-top:10px}
@media (max-width:760px){
body.partners-page .partner-review-invite .shell{flex-direction:column;align-items:flex-start;padding:30px 20px}
body.partners-page .partner-review-invite h2{font-size:32px}
}
@media(max-width:1050px){body.partners-page main .shell{width:min(100% - 44px,1180px)}}
@media(max-width:560px){body.partners-page main .shell{width:min(100% - 32px,1180px)}}


/* ========================================================================== 
   Partners preservation layer
   Keeps the approved/current Partners body + footer visually unchanged while
   the header uses the shared site architecture. All rules live here; no inline
   page styles or page-level :root blocks.
   ========================================================================== */
body.partners-page main{
  --ivory:#f8f5ef;
  --white:#fffdf9;
  --sand:#ddd2c3;
  --taupe:#a8947c;
  --olive:#536449;
  --olive-dark:#344238;
  --charcoal:#25231f;
  --muted:#66635d;
  --line:rgba(37,35,31,.16);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
.site-footer .shell{width:min(1180px,calc(100% - 64px));margin:0 auto}
.site-footer{--white:#fffdf9;--olive:#536449;--olive-dark:#344238;--charcoal:#25231f;--line:rgba(37,35,31,.16);background:var(--white);border-top:1px solid rgba(37,35,31,.08);line-height:1.45;-webkit-font-smoothing:antialiased}
.site-footer .footer-main{display:grid;grid-template-columns:1.1fr 1.25fr .85fr 1.25fr;gap:0;align-items:center;padding:32px 0}
.site-footer .footer-col{min-height:138px;padding:4px 34px;display:flex;flex-direction:column;justify-content:center}
.site-footer .footer-col:not(:last-child){border-right:1px solid var(--line)}
.site-footer .footer-logo img{width:190px;margin:auto}
.site-footer .footer-contact{gap:12px;padding-top:0;padding-bottom:0}
.site-footer .contact-line{display:flex;align-items:center;gap:12px;font-size:15px}
.site-footer .contact-line svg{width:18px;height:18px;fill:var(--olive);flex:0 0 auto}
.site-footer .footer-nav{gap:6px;font-size:15px;align-items:flex-start}
.site-footer .footer-nav a:hover{text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-quote{font-family:var(--display);font-style:italic;font-size:23px;line-height:1.08}
.site-footer .footer-quote small{display:block;font-family:var(--body);font-style:normal;font-size:10px;font-weight:700;letter-spacing:.28em;margin-top:14px}
.site-footer .footer-bottom{background:var(--olive-dark);color:#fff;border-top:0;padding:0;display:block;font-size:inherit}
.site-footer .footer-bottom .shell{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:20px 0;font-size:12px;color:#fff}
.site-footer .footer-legal-links{display:flex;gap:24px}
.site-footer .legal-disclosure{grid-column:1 / -1;color:rgba(255,255,255,.72);font-size:10px;line-height:1.35;margin-top:-4px}
@media (max-width:1050px){
  .site-footer .shell{width:min(100% - 44px,1180px)}
  .site-footer .footer-main{grid-template-columns:1fr 1fr 1fr}
  .site-footer .footer-col:last-child{grid-column:1 / -1;border-top:1px solid var(--line);border-right:0;min-height:auto;padding-top:24px;text-align:center}
  .site-footer .footer-quote small{margin-top:8px}
}
@media (max-width:820px){
  .site-footer .footer-main{grid-template-columns:1fr 1fr}
  .site-footer .footer-col:nth-child(2){border-right:0}
  .site-footer .footer-col:nth-child(3){border-top:1px solid var(--line)}
  .site-footer .footer-col:last-child{grid-column:auto;border-top:1px solid var(--line);border-left:0;text-align:left}
  .site-footer .footer-quote{font-size:21px}
}
@media (max-width:560px){
  .site-footer .shell{width:min(100% - 32px,1180px)}
  .site-footer .footer-main{grid-template-columns:1fr;padding:20px 0}
  .site-footer .footer-col{border-right:0!important;border-top:1px solid var(--line);min-height:auto;padding:22px 10px}
  .site-footer .footer-col:first-child{border-top:0}
  .site-footer .footer-logo img{margin:0}
  .site-footer .footer-quote{text-align:left}
  .site-footer .footer-bottom .shell{grid-template-columns:1fr;gap:12px;padding:18px 0}
  .site-footer .footer-legal-links{gap:18px;flex-wrap:wrap}
}
/* Partners current-page micro-preservation: these values come from the approved live layout. */
body.partners-page main .eyebrow{margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
body.partners-page .acquisition-guide{background:#fbf9f6}
