/* Indian Garden: ivory, forest olive, antique gold, and small clay accents. */
:root,:root .admin-body{
  --paper:#f8f5ec;--white:#fffdf6;--green:#344334;--green-dark:#233024;--sage:#e9eddf;
  --peach:#c5ad77;--coral:#a3674f;--ink:#2f392d;--muted:#68705f;--line:#d9dccb;
  --champagne:#c5ad77;--champagne-light:#eef0e5;
}
:root :is(body,.guest-body,.survey-body,.admin-body,.auth-shell,.site-header,.site-footer){background:var(--paper);color:var(--ink)}
:root :is(h1,h2,h3,.wordmark,.site-footer .wordmark,.event-card h3,.contact-card h2,.survey-intro h1,.survey-intro h1 em,.likelihood-fieldset legend,.invitation-banner h2,.success-card h2,.section-intro h2 em){color:var(--ink)}
:root :is(.eyebrow,.section-intro .eyebrow,.event-top .eyebrow,.memories-heading .eyebrow,.planning-note .eyebrow,.survey-intro .eyebrow,.guest-question-heading .eyebrow){color:#916047}
:root :is(.site-header,.site-footer,.wordmark-caption,.event-card,.event-bottom,.wedding-card .event-bottom,.guest-question-heading,.admin-topbar,.sidebar-footer,.address-status-fields,.partner-toggle){border-color:var(--line)}
:root :is(.button-primary,.site-header nav .button-outline,.photo-dialog-close,.photo-dialog-controls>button){background:#344334;border-color:#344334;color:#fffdf6}
:root .button-primary:hover{background:#233024}
:root .button-secondary{background:#e9eddf;color:#344334;border-color:#d9dccb}
:root .button-ghost{color:var(--ink);border-color:var(--line)}
:root .hero{background:#344334;color:#fffdf6}
:root .hero :is(h1,h1 em){color:#fffdf6!important}
:root .hero :is(.eyebrow,.hero-names){color:#c5ad77}
:root .hero-description{color:#495541}
:root .hero .hero-footnote{color:#68705f}
:root .hero .button-peach{background:#c5ad77;border-color:#c5ad77;color:#344334}
:root .hero .button-peach:hover{background:#e9eddf}
:root :is(.photo-frame,.photo-preview,.memory-photo-button){background:#e5e7d9}
:root .love-strip{background:#e8ecdc;color:#526045;border-color:#d9dccb}
:root :is(.section-intro>p,.event-time,.event-card p,.memories-heading p,.planning-note p,.survey-intro>p,.contact-intro,.contact-hint,.contact-card>.contact-intro,.contact-card .contact-hint,.details-option,.gallery-hint,.site-footer a:last-child){color:var(--muted)}
:root :is(.event-location,.event-bottom,.event-bottom>span:last-child,.memory-caption,.personal-link-box p){color:#526045}
:root :is(.memories-section,.survey-context){background:#eef0e5;color:#526045}
:root .memory-caption>span:first-child{color:#9b7151}
:root :is(.guest-question-card,.contact-card,.success-card,.card,.stat-card,.sender-card,.collection-photo,.draft-card){background:#fffdf6;border-color:var(--line)}
:root .contact-card{border-top-color:#b7a16d}
:root .partner-card .guest-question-card{background:transparent}
:root .question-event{color:#526045}
:root .question-event>span:first-child{background:#eef0e5;color:#526045}
:root :is(.guest-number,.success-flower){color:#9b8249}
:root :is(.field input,.field select,.field textarea,.contact-card .field input,.contact-card .field select,.personal-link-box input,input[type=search],.toolbar select){background:#fffdf6;color:#344334;border-color:#bdc6b0}
:root :is(input,textarea)::placeholder{color:#79816f}
:root :is(.partner-toggle,.partner-editor,.preview-notice){background:#f0f2e7;border-color:#d9dccb;color:#526045}
:root :is(input[type=checkbox],input[type=radio],.partner-toggle input){accent-color:#344334}
:root .likelihood-content{background:#f8f5ec;border-color:#d9dccb;color:#526045}
:root .likelihood-option input:checked+.likelihood-content{background:#344334;border-color:#344334;color:#fffdf6}
:root .likelihood-option:hover .likelihood-content{border-color:#9b8249}
:root .yes-no-options .likelihood-content::after{border-color:#9da98e}
:root .yes-no-options .likelihood-option input:checked+.likelihood-content::after{background:#c5ad77;border-color:#344334;outline-color:#c5ad77}
:root .likelihood-option input:focus-visible+.likelihood-content{outline-color:#9b8249}
:root :focus-visible{outline-color:#9b8249}
:root ::selection{background:#c5ad77;color:#344334}
:root .photo-dialog{background:#f8f5ec;color:#344334}
:root .photo-dialog::backdrop{background:#000d}
:root .admin-sidebar{background:#eef0e5;border-color:#d9dccb}
:root .nav-item{color:#5d6853}
:root .nav-item:hover{background:#dfe5d3}
:root :is(.nav-item.active,.nav-item[aria-current=page],.nav-item.active:hover,.auth-decoration,.collection-cover-badge){background:#344334;color:#fffdf6}
:root :is(.badge,.badge-soft,.badge-peach,.badge-green,.preview-notice .badge){background:#e8ecdc;color:#526045}
:root .badge-success{background:#e4e8d8;color:#475238}
:root :is(.event-progress.engagement,.event-progress.wedding,.getting-started,.notice,.shared-survey-card){background:#eef0e5;border-color:#d4dcc6;color:#526045}
:root :is(.attendance-count,.wedding .attendance-count){background:#fffdf6;border-color:#d9dccb}
:root :is(.attendance-count.attendance-yes,.wedding .attendance-count.attendance-yes){background:#344334;border-color:#344334}
:root .attendance-count.attendance-yes :is(strong,span){color:#fffdf6}
:root :is(.attendance-count.attendance-reconfirm,.wedding .attendance-count.attendance-reconfirm){background:#c5ad77;border-color:#b7a16d}
:root .data-table th{background:#eef0e5;color:#5d6853}
:root .data-table td{border-color:#e0e4d6}
:root .draft-household.active{background:#e8ecdc;border-color:#9da98e}
:root .share-link-input{background:#f0f2e7!important}
:root .guest-editor-row[data-partner-guest] .guest-name{background:#f0f2e7}

:root .hero :is(h1,h1 em){color:#2f392d!important}
:root .hero :is(.eyebrow,.hero-names){color:#916047}
:root .hero .button-peach{background:#e9eddf;border-color:#e9eddf;color:#344334}
:root .memories-section{background:#eef0e5}
:root .admin-body .badge-success{background:#e4e8d8;color:#475238}

/* A clear opening invitation and a closing reminder, with room to breathe. */
:root .planning-note .button{margin-top:28px;min-height:50px;padding:14px 24px}
:root .site-header nav .survey-nav-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:600;color:#344334;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
@media(max-width:540px){:root .site-header nav .survey-nav-link{display:inline-flex;font-size:12px}.planning-note .button{max-width:100%;white-space:normal}}

/* Ornamental SVGs stay decorative; the photos retain their original color. */
:root{--garden-pattern:url('/art/paisley.svg');--garden-birds:url('/art/peacocks.svg');--terracotta:#a3674f;--gold:#b7a16d}
:root .guest-body{background-color:var(--paper);background-image:var(--garden-pattern);background-size:220px 230px}
:root .site-header{background:var(--paper);border-top:4px solid var(--green);border-bottom:1px solid var(--line)}
:root .site-header nav .survey-nav-link{color:var(--green)}
:root .hero{background:var(--paper);color:var(--ink);margin:22px 3% 0;grid-template-columns:1fr 1fr;border:1px solid var(--gold);gap:0;min-height:660px}
:root .hero-copy{position:relative;isolation:isolate;text-align:center;max-width:none;padding:40px 12% 50px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--paper)}
:root .hero-copy::before{content:'';position:absolute;z-index:-1;inset:0;background-image:var(--garden-pattern);background-size:180px 188px;mask-image:linear-gradient(to right,#000,transparent 20%,transparent 80%,#000);pointer-events:none}
:root .hero-copy::after{content:'';position:absolute;inset:12px;border:1px solid #b7a16d66;z-index:-1;pointer-events:none}
:root .garden-peacocks{display:block;width:228px;height:auto;max-width:80%;margin:0 auto 23px;flex-shrink:0}
:root .hero :is(h1,h1 em){color:var(--ink)!important}
:root .hero .eyebrow{color:var(--terracotta);font-size:9px;letter-spacing:.19em}
:root .hero h1{font-size:clamp(60px,6.3vw,92px);line-height:1.06;letter-spacing:-.06em;margin:19px 0 0;max-width:470px}
:root .hero .hero-names{color:var(--green);font-size:12px;line-height:1.9;letter-spacing:.025em;margin:22px 0 0}
:root .hero-description{color:var(--muted);max-width:370px;margin-top:21px;font-size:13px}
:root .hero .hero-footnote{color:var(--muted);max-width:310px;font-size:11px;line-height:1.7;margin-top:15px}
:root .hero .button-peach{background:var(--green);color:var(--white);border-color:var(--green);font-size:13px;min-height:52px;margin-top:27px;padding:14px 23px}
:root .hero .button-peach:hover{background:var(--green-dark);border-color:var(--green-dark)}
:root .hero-art,:root .hero .photo-frame,:root .hero .couple-photo{min-height:660px}
:root .love-strip{background:var(--paper);border-bottom:1px solid var(--line);margin:0 3%;gap:38px;color:var(--muted)}
:root .celebrations-section{background:var(--paper);width:calc(100% - 6%);max-width:none;margin:0 3%;padding:85px 6%}
:root .section-intro,:root .event-grid{max-width:1120px;margin-left:auto;margin-right:auto}
:root .event-card{border-top:1px solid var(--gold)}
:root .event-top .eyebrow{color:var(--terracotta)}
:root .event-card h3{color:var(--green)}
:root .event-location,:root .event-time{font-weight:600;color:var(--green)}
:root .memories-section{background:var(--sage);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
:root .memories-section::before{content:'';display:block;position:absolute;inset:0 0 auto;height:17px;background-image:var(--garden-pattern);background-size:130px 135px;opacity:.8;pointer-events:none}
:root .memory-photo-button{outline:1px solid #b7a16d88;outline-offset:5px}
:root .memory-grid{gap:24px;grid-template-columns:repeat(4,minmax(0,1fr))}
:root .memory-card:first-child{grid-column:auto}
:root .memory-card .memory-photo-button{aspect-ratio:2/3}
:root .memory-landscape{grid-column:span 2}
:root .memory-landscape .memory-photo-button{aspect-ratio:3/2}
:root .memory-landscape .memory-photo-button img{object-fit:contain;object-position:center}
:root .collection-photo-frame img[src$="loved-ones.jpg"],:root .collection-photo-frame img[src$="engaged-together.jpg"]{object-fit:contain}
:root .memory-caption{color:var(--green);font-size:12px;padding-top:20px}
:root .gallery-hint{color:var(--muted);font-size:11px}
:root .planning-note{position:relative;background:var(--paper);max-width:820px;margin:65px auto;padding:44px 60px 48px;border:1px solid var(--gold);outline:1px solid #b7a16d66;outline-offset:7px}
:root .planning-note::before{content:'';display:block;width:65px;height:2px;margin:0 auto 26px;background:var(--terracotta)}
:root .planning-note .button{margin-top:28px;min-height:52px}
:root .site-footer{background:var(--paper);border-top:1px solid var(--gold)}
/* Keep all form text on plain paper, with the pattern only in the margins. */
:root .survey-main{background:var(--paper);padding-left:36px;padding-right:36px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
:root .survey-intro::before{content:'';display:block;background:var(--garden-birds) center/contain no-repeat;width:180px;height:74px;margin:0 auto 23px}
:root .survey-intro h1 em{font-style:italic}
:root .survey-context{border-left:2px solid var(--gold)}
:root .contact-card{border-top:2px solid var(--gold)}
:root .likelihood-option input:checked+.likelihood-content{background:var(--green);border-color:var(--green);color:var(--white)}
:root .field :is(input,select,textarea):focus-visible{outline:2px solid var(--green);outline-offset:2px}
:root .button:focus-visible,:root a:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}
:root .photo-dialog{border-color:var(--gold)}
/* The studio shares the invitation's materials, without ornament behind controls. */
:root .admin-body{background:var(--paper)}
:root .admin-sidebar{background:var(--sage);border-right:1px solid var(--line);border-top:4px solid var(--green)}
:root .admin-brand{position:relative;padding-bottom:112px}
:root .admin-brand::after{content:'';position:absolute;left:10px;bottom:16px;width:160px;height:66px;background:var(--garden-birds) center/contain no-repeat;pointer-events:none}
:root .sidebar-footer{position:relative;padding-top:24px;border-top-color:var(--gold)}
:root .nav-item.active,:root .nav-item[aria-current=page]{background:var(--green);color:var(--white)}
:root .nav-item.active:hover{background:var(--green-dark)}
:root .stat-card{border-top:2px solid var(--gold)}
:root .shared-survey-card{background:var(--sage);border-left:3px solid var(--gold)}
:root .event-progress.engagement{background:#eef0e5}
:root .event-progress.wedding{background:#f3eee2}
:root .auth-decoration{background:var(--sage);color:var(--green);border:1px solid var(--line);padding-top:200px}
:root .auth-decoration::before{content:'';display:block!important;top:45px;left:10%;width:80%;height:140px;background:var(--garden-birds) center/contain no-repeat;transform:none;opacity:1}
:root .auth-decoration>span{color:var(--muted)}
:root .admin-body .badge-peach{background:#f0e4d9;color:#88563f}
:root .admin-body .chart-bar{background:#71815b}
:root .admin-body .wedding .chart-bar{background:var(--gold)}
@media(min-width:1500px){:root .hero-copy{padding-top:55px;padding-bottom:60px}:root .hero-art,:root .hero .photo-frame,:root .hero .couple-photo{min-height:730px}}
@media(max-width:1100px){:root .hero-copy{padding:36px 10% 42px}:root .hero h1{font-size:66px}:root .garden-peacocks{width:195px}:root .hero-art,:root .hero .photo-frame,:root .hero .couple-photo{min-height:660px}:root .planning-note{max-width:75%}}
@media(max-width:800px){
 :root .memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 :root .hero{grid-template-columns:1fr;margin:14px 4% 0;min-height:0}
 :root .hero-copy{padding:30px 9% 36px}
 :root .garden-peacocks{width:190px;margin-bottom:18px}
 :root .hero h1{font-size:clamp(32px,10vw,70px);max-width:100%;white-space:nowrap;word-spacing:.04em}
 :root .hero-art,:root .hero .photo-frame,:root .hero .couple-photo{min-height:0}
 :root .hero .photo-frame{aspect-ratio:4/5}
 :root .hero-art{height:auto}
 :root .love-strip{margin:0 4%;gap:10px 25px;padding:20px 4%}
 :root .celebrations-section{width:92%;margin:0 4%;padding:52px 6%}
 :root .planning-note{max-width:84%;padding:35px 28px;margin:45px auto}
 :root .admin-brand{padding-bottom:0;min-height:44px}
 :root .admin-brand::after{display:none}
 :root .admin-sidebar{border-right:0}
 :root .survey-main{margin:0 16px;padding:30px 22px 50px}
}
@media(max-width:540px){
 :root .site-header{padding:13px 6%;min-height:74px}
 :root .hero-copy{padding:25px 9% 33px}
 :root .hero-copy::after{inset:9px}
 :root .garden-peacocks{width:170px;margin-bottom:16px}
 :root .hero .eyebrow{font-size:8px;letter-spacing:.14em}
 :root .hero h1{font-size:clamp(32px,10vw,46px);max-width:100%;margin-top:16px}
 :root .hero .hero-names{font-size:11px;margin-top:18px}
 :root .hero-description{font-size:13px;margin-top:17px}
 :root .hero .button-peach{font-size:12px;padding:13px 18px;min-height:50px;margin-top:23px;min-width:0;max-width:100%;white-space:normal}
 :root .hero .hero-footnote{font-size:10px;margin-top:13px;max-width:260px}
 :root .love-strip{font-size:8px;letter-spacing:.06em}
 :root .section-intro h2{font-size:34px}
 :root .memories-section{padding:42px 7% 35px}
 :root .memory-grid{gap:25px 18px}
 :root .memory-caption{font-size:11px;padding-top:14px}
 :root .planning-note{max-width:82%;padding:30px 22px;margin:42px auto}
 :root .planning-note .eyebrow{line-height:1.8}
 :root .planning-note h2{font-size:31px}
 :root .planning-note .button{font-size:12px;padding:14px 16px}
 :root .survey-main{margin:0 10px;padding:25px 12px 45px}
 :root .survey-intro::before{width:150px;height:62px;margin-bottom:20px}
 :root .survey-intro h1{font-size:35px!important}
 :root .contact-card,:root .guest-question-card{padding:23px 17px}
 :root .site-footer{padding:22px 6%}
}
@media(max-width:360px){:root .hero-copy{padding-left:8%;padding-right:8%}:root .planning-note .button{font-size:11px;padding:13px 10px}:root .survey-intro h1{font-size:31px!important}}
/* Let the invitation determine the hero height, not the portrait's intrinsic size. */
@media(min-width:801px){
 :root .hero-art{min-height:0;position:relative}
 :root .hero .photo-frame{position:absolute;inset:0;min-height:0;height:100%}
 :root .hero .couple-photo{min-height:0;height:100%;object-position:50% 72%}
 :root .hero-copy{padding-top:36px;padding-bottom:42px;min-height:730px}
 :root .garden-peacocks{width:200px;margin-bottom:20px}
 :root .hero h1{font-size:clamp(64px,5.8vw,84px)}
}
