/* Copyright (C) 2026 BreadLogic, LLC */
:root{--ink:#132d29;--paper:#f8f9f4;--lime:#d7ee85;--line:#ccd5cc;--muted:#52685f;--orange:#ffb073}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bd561d;outline-offset:5px}header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px}.wordmark{font-size:30px;font-weight:800;text-decoration:none;letter-spacing:-1.3px}.brand-mark{color:#56723b;margin-left:5px;width:.8em;height:.8em;vertical-align:-.02em}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{text-decoration:none}.nav-cta{border:1px solid var(--ink);padding:9px 17px;border-radius:30px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:45px 5% 65px}.eyebrow,.step{font-size:12px;font-weight:bold;letter-spacing:1.9px;text-transform:uppercase}.eyebrow{margin:0 0 22px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-2px;line-height:1.04}h1{font-size:clamp(48px,5.9vw,86px);margin:0 0 28px}h1 em,h2 em{font-weight:normal;color:#667d3c}h2{font-size:42px;margin:12px 0 18px}.lead{font-size:19px;max-width:470px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:16px 25px;min-height:55px;border-radius:5px;border:1px solid transparent;text-decoration:none;font-size:16px;font-weight:bold;cursor:pointer}.button:hover{filter:brightness(.94)}.lime{background:var(--lime);color:var(--ink)}.dark{background:var(--ink);color:white}.outline{border-color:#d8e1d5;color:inherit}.outline-ink{border-color:var(--ink)}.hero .button{margin-top:12px}.price-line{display:flex;align-items:baseline;gap:8px;font-size:14px;flex-wrap:wrap;margin-top:20px}.price-line strong{font-size:24px}.price-line span{color:var(--muted);margin-left:8px}.hero-display{background:#c9ddd0;border-radius:180px 180px 10px 10px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:35px 20px 20px;position:relative;margin-top:8px}.sample-label{font-size:11px;letter-spacing:2px;margin-bottom:25px}.hero-display img{width:100%;height:auto;max-width:540px;transform:rotate(-4deg);filter:drop-shadow(10px 16px 0 #91b69f)}.stakes{width:45%;height:62px;border-left:7px solid #617a6d;border-right:7px solid #617a6d}.display-caption{font-size:12px;border-top:1px solid #9cbba8;width:100%;padding-top:18px;text-align:center}.display-caption span{display:block}.included{max-width:1440px;margin:auto;padding:35px 5% 50px;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line)}.included h2{font-size:29px;letter-spacing:-1px}.included p{font-size:16px;max-width:330px}.step{color:var(--muted)}.builder{padding:75px 5%;background:#e7eee5;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;border-top:1px solid var(--line)}.builder-intro{max-width:420px;justify-self:end}.builder-intro h2{font-size:55px}.order-form{max-width:680px;background:white;padding:35px;border-radius:10px;min-width:0}.order-form fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}.order-form legend{font-size:20px;font-weight:bold;margin-bottom:18px}.holiday-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.holiday-option{position:relative;border:2px solid #dbe3d8;padding:9px;border-radius:7px;cursor:pointer}.holiday-option:has(input:checked){border-color:#426537;background:#f0f6de}.holiday-option img{width:100%;height:auto;display:block;margin:7px 0}.holiday-option input{width:18px;height:18px;accent-color:#315333}.holiday-option span{font-weight:bold;font-size:15px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields label{font-size:14px;font-weight:bold}.fields input{width:100%;border:1px solid #abbcaf;border-radius:4px;padding:12px;font:16px Arial;margin-top:6px;background:#fcfdfb;min-width:0}.wide{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:14px}.check input{flex-shrink:0;width:18px;height:18px;margin-top:3px;accent-color:#315333}.order-form .button{width:100%;margin-top:9px}.order-total{display:grid;grid-template-columns:1fr auto;gap:12px;border-block:1px solid #b8c9b8;padding:22px 0;margin:30px 0;font-size:15px}.order-total strong{text-align:right}.total-label,.total-price{border-top:1px solid #b8c9b8;padding-top:14px}.small{font-size:13px;color:var(--muted)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.error{background:#ffe5d7;color:#8d2817;padding:12px;border-radius:5px}.page{max-width:1300px;padding:65px 5% 90px;margin:auto;min-height:65vh}.narrow{max-width:850px}.page h1{font-size:60px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.review-sign{width:100%;height:auto}.summary{padding:10px 0}.summary h2{font-size:35px}.summary p{overflow-wrap:anywhere}.prose h2{font-size:32px;margin-top:32px}.prose h1{margin-bottom:40px}footer{padding:30px 5%;max-width:1440px;margin:auto;display:flex;justify-content:space-between;gap:30px;font-size:13px;border-top:1px solid var(--line)}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;background:white;padding:12px;z-index:99}.preview-note{position:fixed;top:0;left:0;right:0;z-index:90;text-align:center;background:#b4232d;color:#fff;padding:2px 8px;font-size:min(14px,2.5vw);line-height:1.2;white-space:nowrap}.reveal{background:#251e38;color:#fff5e1;padding:65px max(5%,calc((100vw - 1300px)/2));display:grid;grid-template-columns:1.25fr 1fr;gap:35px;align-items:center}.reveal h1{font-size:clamp(46px,5.5vw,78px)}.reveal h1 em{color:#ffb073}.reveal p{max-width:490px}.reveal .eyebrow{color:#d2c3e9}.reveal .lime{background:#ffb073}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.holiday-art{width:100%;height:auto;max-width:500px;justify-self:center}.christmas .reveal{background:#133e33}.christmas .reveal h1 em{color:#f9d288}.christmas .reveal .lime{background:#f9d288}.christmas .reveal .eyebrow{color:#bfd5c4}.question{font-size:24px;font-family:Georgia,serif}.agent{max-width:1300px;margin:auto;padding:45px 5%;display:grid;grid-template-columns:1.2fr 1fr;gap:35px}.agent h2{font-size:38px;margin:10px 0}.agent h3{font-size:25px;margin:12px 0}.agent p{margin:7px 0;overflow-wrap:anywhere}.agent address{font-style:normal;align-self:center;overflow-wrap:anywhere}.agent-identity{display:flex;gap:24px;align-items:center;min-width:0}.portrait{width:160px;height:200px;object-fit:cover;border-radius:95px 95px 16px 16px;border:5px solid #fff;box-shadow:0 6px 20px #241c3612;flex-shrink:0}.agent .eyebrow{font-size:10px;letter-spacing:1px}.analytics-note{padding:0 5% 25px;max-width:1300px;margin:auto;font-size:12px;color:var(--muted)}#checkout{min-height:400px}#checkout-error{color:#8d2817}
@media(max-width:900px){.hero{gap:20px}.hero h1{font-size:60px}.builder{gap:4%;grid-template-columns:.7fr 1.3fr}.builder-intro h2{font-size:43px}.order-form{padding:24px}.agent-identity{flex-direction:column;align-items:flex-start}.included{gap:25px}}
@media(max-width:650px){header{padding:10px 6%;gap:12px}.wordmark{font-size:23px}header nav>a:first-child{display:none}nav{font-size:12px}.nav-cta{padding:8px 12px}.hero{grid-template-columns:1fr;padding:32px 6% 38px}.hero h1{font-size:48px;letter-spacing:-1.7px}.hero-display{border-radius:110px 110px 8px 8px;padding-top:25px;margin-top:20px}.hero-display img{max-width:370px}.stakes{height:35px}.included{grid-template-columns:1fr;padding:30px 6%;gap:20px}.included>div{border-bottom:1px solid var(--line);padding-bottom:16px}.included p{max-width:none}.builder{grid-template-columns:1fr;padding:42px 6%;gap:30px}.builder-intro{justify-self:start;max-width:none}.builder-intro h2{font-size:46px}.order-form{padding:22px 16px}.fields{grid-template-columns:1fr}.holiday-options{gap:9px}.holiday-option{padding:6px}.page{padding:36px 6% 65px}.page h1{font-size:45px}.review-grid{grid-template-columns:1fr;gap:22px}/* Keep the agent portrait within reach on the first mobile screen. */
.reveal{padding:24px 6% 8px;grid-template-columns:1fr;gap:0}.reveal h1{font-size:40px;line-height:1.08;margin-bottom:20px}.reveal .eyebrow{margin-bottom:14px}.reveal .actions{margin-top:20px}.reveal .holiday-art{max-width:290px}.agent{grid-template-columns:1fr;padding:30px 6%;gap:20px}.agent-identity{flex-direction:row;gap:18px}.portrait{width:115px;height:155px}.agent h2{font-size:30px}.agent h3{font-size:21px}.agent .eyebrow{font-size:10px}.analytics-note{padding-inline:6%}footer{padding:25px 6%;flex-direction:column;gap:14px}.button{padding:14px 18px;gap:20px;font-size:15px}.price-line span{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.photo-upload{display:block;margin-top:22px;font-size:14px;font-weight:bold}.photo-upload input{display:block;width:100%;max-width:100%;margin:9px 0;font:14px Arial;padding:10px;border:1px solid var(--line);border-radius:4px}.photo-upload .small{display:block;font-weight:normal}.portrait{object-position:center 25%}

.season-choice{min-width:0;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px}.season-choice .holiday-option{display:block;height:auto;padding:0;border:0;cursor:default}.season-choice .season-preview{margin-top:auto}.holiday-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.season-preview{display:block;font-size:12px;line-height:1.4;padding:8px 2px}.campaign .reveal h1 em{color:var(--season-accent,#ffb073)}.campaign .reveal .lime{background:var(--season-accent,#ffb073)}.campaign .reveal .eyebrow{color:#fff4de}

/* Keep patriotic accents in the hero; agent details use the shared styling. */
.campaign.fourth-of-july .reveal{color:#fff}
.campaign.fourth-of-july .reveal .eyebrow{color:#fff}
.campaign.fourth-of-july .reveal .lime{background:#fff;color:#002868;border:2px solid #bf0a30}

.social-fields{margin:20px 0}.social-fields summary{cursor:pointer;font-weight:700}.social-fields .fields{margin-top:16px}.social-links{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;font-size:14px}.social-links a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid currentColor;border-radius:24px}.social-links span{font-weight:700;font-size:18px;min-width:20px;text-align:center}

/* Keep summer colors in the hero; agent details use the shared styling. */
.campaign.summer .reveal{color:#fffaf0}
.campaign.summer .reveal .eyebrow{color:#fffaf0}
.campaign.summer .reveal .lime{background:#fffaf0;color:#124950}
.campaign.summer .reveal .outline{border-color:#b3efeb}

/* Compact utility actions match the campaign workspace buttons. */
.button.button-compact{font-size:13px;min-height:34px;padding:6px 14px;gap:8px;width:auto}

.campaign-lookup-form{display:flex;align-items:center;flex-wrap:wrap;gap:16px}

/* Seasonal referral callout stays secondary to the agent's contact actions. */
.campaign footer{display:block}
.campaign footer>div+div{margin-top:18px}
.sign-promotion{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;margin:22px 0 0;border:1px solid var(--promo-bg);border-radius:8px;background:#f8f9f4;background:color-mix(in srgb,var(--promo-accent) 20%,white);color:var(--promo-bg)}
.sign-promotion h2{font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0;margin:0 0 3px}
.sign-promotion p{font-size:12px;margin:0}
.sign-promotion .button{background:var(--promo-bg);color:var(--promo-accent);border-color:var(--promo-bg);flex-shrink:0;font-size:12px;font-weight:normal}

.quantity-label,.sign-labels{display:block;font-size:13px;margin:8px 0}.quantity-label input{width:64px;padding:6px;margin-left:8px}.sign-labels textarea{display:block;width:100%;margin-top:5px;font:14px Arial;padding:8px;border:1px solid var(--line);border-radius:4px}.cart-item{padding:16px 0;border-bottom:1px solid var(--line)}

/* Cards grow with their controls; narrow screens give each sign the full available width. */
.season-choice .quantity-label,.season-choice .sign-labels{margin:0}
.season-choice textarea{max-width:100%;resize:vertical}
@media(max-width:650px){.holiday-options{grid-template-columns:minmax(0,1fr);gap:16px}}

.sign-label-help{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin:4px 0 8px}

/* Real sign photos keep their full framing so customers can see the stake and display. */
.sign-showcase{max-width:1440px;margin:auto;padding:40px 5% 60px}
.sign-showcase h2{font-size:36px;margin:8px 0 12px}
.sign-showcase>p:not(.eyebrow){font-size:15px;color:var(--muted);margin:0 0 24px}
.sign-showcase-photos{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:start}
.sign-showcase figure{margin:0;min-width:0}
.sign-showcase img{display:block;width:100%;height:auto;border-radius:8px}
.sign-showcase figcaption{font-size:13px;color:var(--muted);margin-top:10px}
@media(max-width:650px){.sign-showcase{padding:30px 6% 40px}.sign-showcase h2{font-size:30px}.sign-showcase-photos{grid-template-columns:1fr;gap:24px}}

/* Keep the total and collection offer distinct from agent details and consent. */
.collection-offer{padding:18px;background:#edf3df;border:1px solid #bccd98;border-radius:8px;margin-bottom:18px}
.collection-offer h2{font-size:25px;margin:0 0 10px}.collection-offer p,.quantity-pricing{font-size:14px;line-height:1.6}.collection-offer .small{font-size:12px;margin-bottom:0}
.cart-summary{margin:24px 0;padding:22px;background:#e5f0ed;border:2px solid #497568;border-radius:10px;color:#153d32}
.cart-summary h2{font-size:25px;margin:0 0 18px}.cart-summary dl{margin:0}.cart-summary dl>div{display:flex;justify-content:space-between;gap:16px;margin:12px 0}.cart-summary dd{margin:0;white-space:nowrap;font-weight:bold}.cart-summary p{font-size:13px;line-height:1.5}.cart-summary-total{border-top:1px solid #9ab8ad;padding-top:16px;font-size:22px;font-weight:bold}.cart-renewal{border-top:1px solid #9ab8ad;padding-top:12px}
@media(max-width:650px){.cart-summary{padding:16px}.cart-summary-total{font-size:20px}}
/* Clear form groups and compact, explicit optional controls. */
.contact-group{margin:0 0 26px}.contact-group h3,.social-fields h3{font:700 17px Arial,sans-serif;margin:0 0 14px}.social-fields{border-top:1px solid var(--line);padding-top:22px;margin-block:24px}.fields label{min-width:0}.fields select{width:100%;min-width:0;border:1px solid #abbcaf;border-radius:4px;padding:12px;font:16px Arial;margin-top:6px;background:#fcfdfb}.more-socials{margin-top:18px}.more-socials summary{display:list-item;width:fit-content;border:1px solid #abbcaf;border-radius:5px;padding:9px 12px;font-size:14px;cursor:pointer}.more-socials summary span{margin-left:12px}.more-socials[open] summary span{display:none}.capitalization-suggestion{display:block;font-size:13px;font-weight:400;margin-top:6px}.capitalize-apply{font:700 13px Arial,sans-serif;padding:4px 8px;margin-left:4px;background:#e7eee5;color:#153d34;border:1px solid #abbcaf;border-radius:4px;cursor:pointer}.capitalize-apply:focus-visible,.more-socials summary:focus-visible{outline:2px solid #315333;outline-offset:3px}

/* iPhone 12 and newer layouts keep characters full-size and the agent within reach. */
.meet-agent{display:none}
@media(max-width:700px){
 .campaign header{padding-block:10px}
 .campaign .reveal h1{font-size:38px;margin-bottom:12px}
 .campaign .reveal .question{font-size:20px;line-height:1.35;margin:10px 0 14px}
 .campaign .reveal p:not(.eyebrow):not(.question){font-size:16px;line-height:1.5;margin:12px 0}
 .campaign .reveal .actions{margin-top:16px;gap:8px}
 .campaign .reveal .actions .button{font-size:14px;padding:12px 14px}
 .campaign .reveal .holiday-art{width:290px;max-width:100%;height:230px;object-fit:cover}
 .campaign .agent{scroll-margin-top:12px}
}
@media(max-width:700px) and (max-height:740px){
 /* Safari controls or landscape can shorten the viewport even on recent phones. */
 .campaign .meet-agent{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:inherit;margin-top:4px}
}

/* Keep office details visually distinct from the agent’s personal contact fields. */
.brokerage-group{border:1px solid #abbcaf;border-radius:8px;background:#f3f6f0;padding:20px}.brokerage-group h3{margin-bottom:8px}.brokerage-group>p{margin:0 0 20px}
@media(max-width:700px){.brokerage-group{padding:16px 12px}}

.sign-labels textarea:disabled{background:#edf0ec;color:var(--muted);cursor:not-allowed;opacity:.75}

.agent-contact{font-style:normal;min-width:0;overflow-wrap:anywhere}.agent-contact a{text-decoration:underline;text-underline-offset:3px}

.review .landing-preview-button{display:flex;width:100%;margin-top:10px;background:#b4232d;color:#fff;border-color:#b4232d;gap:12px}.review .landing-preview-button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* Keep the select-all confirmation beside its action without moving focus. */
.collection-offer .collection-status{padding:12px;border-left:3px solid #647e3b;background:#fff;font-weight:600;margin:14px 0 0}
.collection-status:empty{display:none}

/* Keep the reveal introduction close to the top and its seasonal question.
   Scope spacing to campaign pages so storefront eyebrows remain unchanged. */
.campaign .reveal{padding-top:24px}
.campaign .reveal>div:first-child{align-self:start}
.campaign .reveal .eyebrow{margin-bottom:6px}
.campaign .reveal .question{margin-top:0}
@media(max-width:700px){.campaign .reveal{padding-top:12px}}
