/* Seasonal presentation; PICGIFT remains the permanent brand. */
.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.journey-grid figure{margin:0;min-width:0}.journey-image{position:relative;overflow:hidden;border-radius:18px;background:#211813;aspect-ratio:4/5}.journey-image img{width:100%;height:100%;object-fit:cover}.journey-image span{position:absolute;left:12px;top:12px;padding:8px 11px;background:#20130ee6;color:#ffe0bd;border:1px solid #ffc08440;border-radius:99px;font-size:9px;letter-spacing:.1em}.journey-grid figcaption{padding:14px 2px}.journey-grid figcaption strong{font:500 21px 'Playfair Display',Georgia,serif}.journey-grid figcaption p{font-size:12px;color:#ceb29b;margin-top:7px;line-height:1.6}.journey-section{padding-top:10px}.journey-section .foot-note{margin-top:0}.studio-consent{padding:17px;border:1px solid #e4ab7640;background:#f1a85909;border-radius:13px;line-height:1.65!important}.studio-consent a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:750px){.journey-grid{grid-template-columns:1fr;gap:14px}.journey-image{aspect-ratio:4/4.5}.journey-grid figcaption{padding:12px 2px 16px}.hero-portrait>img{object-position:center 50%}.hero-portrait figcaption small{max-width:260px}.reference-grid{margin-top:26px}}
html[data-campaign="halloween"]{--bg:#161110;--panel:#241b17;--panel2:#30221b;--cream:#fff5e8;--muted:#cebaac;--gold:#ffa35e;--goldlight:#ffd4a4;--line:#f4c69a24;color-scheme:dark}
html[data-campaign="halloween"] body{background:radial-gradient(ellipse at 85% 10%,#70402424,transparent 45%),#161110}
html[data-campaign="halloween"] .sidebar{background:#1a1412;border-color:var(--line);padding-top:26px}
html[data-campaign="halloween"] .topbar{background:#161110ed;height:80px}
.top-left{font-size:10px;letter-spacing:.15em}.side-caption{color:var(--muted)}
html[data-campaign="halloween"] .page{padding-top:30px;padding-bottom:38px}
html[data-campaign="halloween"] .nav-link{color:#dac6b8;min-height:48px}
html[data-campaign="halloween"] .nav-link.active{background:#ffac5e16;color:#ffd4a4}
html[data-campaign="halloween"] .sidebar-promo{background:linear-gradient(145deg,#38241a,#231913);border-color:var(--line)}
html[data-campaign="halloween"] .sidebar-promo p,.tiny,.foot-note,.legal{color:#c3aa98}
html[data-campaign="halloween"] .halloween-hero{position:relative;isolation:isolate;min-height:565px;border-radius:28px;display:flex;align-items:center;border:1px solid #e7b07a45;background:#241913;overflow:hidden;box-shadow:0 20px 50px #0003}
html[data-campaign="halloween"] .halloween-hero:before{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(19,10,8,.97) 0%,rgba(22,12,10,.91) 28%,rgba(22,12,10,.69) 51%,rgba(19,10,8,.16) 83%),linear-gradient(0deg,rgba(16,8,7,.43),transparent 45%)}
html[data-campaign="halloween"] .halloween-hero .hero-content{position:relative;z-index:2;width:min(63%,720px);max-width:720px;padding:50px 42px;min-width:0}
.halloween-hero h1{font-size:clamp(36px,3.7vw,61px);line-height:1.12;letter-spacing:-.045em}
html[data-campaign="halloween"] .halloween-hero h1 em{color:#ffc184}
.halloween-hero .hero-portrait{position:absolute;inset:0;z-index:0;margin:0;min-width:0;width:100%;height:100%;overflow:hidden;background:#372219}
.halloween-hero .hero-portrait>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%;filter:saturate(.95)}
.halloween-hero .hero-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,7,6,.66),transparent 34%)}
.halloween-hero .hero-portrait figcaption{position:absolute;bottom:27px;right:28px;left:auto;max-width:38%;z-index:1;display:grid;justify-items:end;text-align:right;gap:7px}
.hero-portrait figcaption span{font-size:9px;letter-spacing:.2em;color:#ffdab2}.hero-portrait figcaption strong{font:500 25px 'Playfair Display',Georgia,serif}.hero-portrait figcaption small{font-size:10px;color:#e4c8b1}
html[data-campaign="halloween"] .hero p{color:#dfcabc;font-size:14px;max-width:390px}
html[data-campaign="halloween"] .btn.primary{background:#ffb16a;color:#291709;box-shadow:0 6px 20px #ef8b2920}.btn.primary:after{display:none}
.btn{border-radius:12px;min-height:48px}.btn:hover{transform:translateY(-1px)}.btn:disabled:hover{transform:none}
.btn.outline{background:transparent;border-color:#ffbd823d}.pill{color:#ecd5c1;min-height:42px}.text-btn{min-height:44px}.close{min-width:44px;min-height:44px}
.collection-note{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:23px 2px;color:var(--muted);font-size:12px}.collection-note p{line-height:1.7}.collection-note strong{color:var(--cream)}.collection-note-star{font-size:28px;color:#ffb66e}.collection-note-date{margin-left:auto;white-space:nowrap;font-size:9px;letter-spacing:.2em;color:#deac80}
html[data-campaign="halloween"] .scene-card{background:#261c17;border-color:var(--line);border-radius:20px}
.scene-pic{height:285px}.scene-pic img{object-position:center 38%;filter:none}.scene-pic:after{background:linear-gradient(0deg,#261c17,transparent 35%)}
.scene-body{padding:0 20px 20px;margin-top:-23px}.scene-body p{color:var(--muted);font-size:12px}.scene-bottom span{color:#d5b899}.round-arrow{width:44px;height:44px;background:#ffae5e12;color:#ffd3a8;border-color:#e3ad7533}
html[data-campaign="halloween"] .panel,html[data-campaign="halloween"] .price-card,html[data-campaign="halloween"] .info-block,html[data-campaign="halloween"] .dialog{background:#241b17;border-color:var(--line)}
.info-block p,.summary-line,.field,.check,.settings-row{color:#d7c1b1}.info-strip{margin-top:28px}.info-block .ico{background:#ffad6120;color:#ffbf83}
html[data-campaign="halloween"] .ribbon{background:#ffb16a;color:#2a180c;border:0;padding:24px}.ribbon small{color:#58351f}.ribbon .btn{background:#291b14;color:#ffead5}
html[data-campaign="halloween"] .chip{color:#dfc6b2;min-height:44px;background:#ffffff04}.chip[aria-pressed=true]{background:#ffb16a!important;color:#29170b!important}
html[data-campaign="halloween"] .field input,html[data-campaign="halloween"] .field select{background:#1a1411;color:#fff5e8;border-color:#e2bc972e}
.studio-steps>span{background:#231a16;color:#dac2b0}.studio-steps>span.is-done{background:#413020;color:#ffdcab}.studio-steps>span.is-done strong{background:#ffbd78;color:#27160c}
.studio-advanced{background:#1b1512}.studio-session{background:#261b15}.upload-zone{background:#211813;border-color:#b9875959}.upload-zone.dragging{background:#45301e}
.studio-readiness{color:#d7b89f}.studio-chosen{color:#ffe0ba}.studio-consent{color:#ead3c1}.studio-email{color:#cbb19c}.studio-consent input{accent-color:#ffb16a}
.notice{background:#faaa5810;color:#f8d4aa;border-color:#eda96433}.mobile-scene-option{background:#241b17}.mobile-scene-option span{color:#efd7be}
.avatar{background:#ffc185;color:#311c0c;border-color:#ffe1bc}.legal a{text-decoration:underline;text-underline-offset:3px}.legal{line-height:2.5}
.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:#ffb16a;color:#23170f;padding:12px;border-radius:10px}.skip-link:focus{top:12px}
body.auth-open{overflow:hidden}.photo-advice{margin:18px 0;padding:17px;border:1px solid #f4bc7338;border-radius:14px;background:#f7a5450c;font-size:13px;color:#dcc6b6}.photo-advice strong{display:block;color:#ffe4c1;margin-bottom:5px}
.photo-guide{margin:16px 0 24px;border-bottom:1px solid var(--line);padding-bottom:20px}.photo-guide>summary{cursor:pointer;color:#ffd1a3;font-size:13px;min-height:44px;padding:12px 0}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.guide-grid figure{margin:0}.guide-grid img{aspect-ratio:4/5;object-fit:cover;border-radius:12px}.guide-grid figcaption{font-size:11px;line-height:1.5;margin-top:9px;color:#cbb09d}.guide-grid strong{display:block;color:#b7dfac;margin-bottom:3px}.bad-guide{margin:20px 0 0}.bad-guide img{width:100%;border-radius:12px}.bad-guide figcaption{font-size:12px;color:#eac6b1;line-height:1.6;margin-top:8px}
.crop-stage{width:100%;max-width:520px;margin:0 auto;overflow:hidden;border-radius:14px;background:#130e0c}.crop-stage canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab;outline-offset:-3px}.crop-stage canvas:active{cursor:grabbing}.crop-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;color:#e9d3c1;font-size:12px}.crop-toolbar label{display:flex;align-items:center;gap:8px;flex:1;min-width:130px}.crop-toolbar input{min-width:60px;width:100%;accent-color:#ffad65}.crop-toolbar select{padding:10px;background:#211611;border:1px solid var(--line);border-radius:8px;color:#f3dac6}.crop-help{font-size:11px;color:#d8b99d;margin:9px 0}.crop-buttons{display:flex;justify-content:center;gap:8px}.crop-buttons button{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:8px;background:#ffffff08;color:#efd4bb}
.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.reference-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#1e1612;min-width:0}.reference-card strong{font-size:13px}.reference-card p{font-size:12px;color:var(--muted);margin:7px 0 12px}.reference-card img{height:130px;width:100%;object-fit:contain;border-radius:8px;margin:10px 0}.reference-card .btn{width:100%;font-size:11px;white-space:normal}.reference-status{font-size:11px;color:#ffd6a6;overflow-wrap:anywhere;margin-top:8px}
@media(min-width:751px) and (max-width:1200px){.app{grid-template-columns:210px minmax(0,1fr)}.halloween-hero h1{font-size:39px}html[data-campaign="halloween"] .halloween-hero .hero-content{padding:38px 28px;width:min(78%,650px)}.hero .actions .btn{white-space:normal}.top-left{display:none}.scene-pic{height:230px}}
@media(max-width:750px){html[data-campaign="halloween"] .topbar{height:72px;padding:0 16px}.top-actions{gap:7px}#signup{display:none}.mobile-logo strong{font-size:18px}.mobile-logo img{width:34px;height:34px}.top-actions .pill{font-size:11px;padding:8px 12px}html[data-campaign="halloween"] .page{padding:19px 16px 28px}html[data-campaign="halloween"] .halloween-hero{display:flex;align-items:flex-end;min-height:690px;border-radius:23px}html[data-campaign="halloween"] .halloween-hero:before{background:linear-gradient(180deg,rgba(12,6,5,.08) 0%,rgba(12,6,5,.13) 27%,rgba(17,9,7,.64) 49%,rgba(18,9,7,.95) 72%,rgba(18,9,7,.99) 100%)}html[data-campaign="halloween"] .halloween-hero .hero-content{padding:270px 23px 27px;width:100%;max-width:none}.halloween-hero h1{font-size:clamp(32px,8.7vw,47px)}.halloween-hero .hero-portrait{height:100%}.halloween-hero .hero-portrait>img{object-position:center 42%}.halloween-hero .hero-portrait figcaption{display:none}.hero-portrait figcaption strong{font-size:22px}.hero .actions .btn{white-space:normal;font-size:12px}.hero .trustline span{font-size:10px}.collection-note-date{display:none}.collection-note{padding:18px 0}.section-head{align-items:center}.section-head h2{font-size:27px}.section-head .text-btn{max-width:84px;text-align:right;line-height:1.6}.scene-grid{grid-template-columns:1fr}.scene-pic{height:340px}.scene-body h3{font-size:24px}.scene-body p{font-size:13px}.scene-bottom span{font-size:12px}.scene-body{padding:0 20px 20px}.scene-label{font-size:9px;top:15px;left:15px}.info-strip{grid-template-columns:1fr}.ribbon{flex-direction:column;align-items:flex-start}.ribbon .btn{width:100%}.mobile-nav{background:#1c1511f5;border-color:#edb07833;padding-top:7px}.mobile-nav button{min-height:48px;color:#c5aa98}.mobile-nav button.active{color:#ffc18a}.mobile-nav button[data-route="crear"]{background:#ffb16a;color:#29160b;border-radius:13px}.dialog{padding:22px 22px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.guide-grid{gap:8px}.guide-grid figcaption{font-size:10px}.reference-grid{grid-template-columns:1fr 1fr}.reference-card{padding:12px}.reference-card p{font-size:11px}.offline-pill{position:fixed;left:10px;right:10px;top:76px;white-space:normal;max-width:none}.top-heading{flex-wrap:wrap}.studio-private-note{white-space:normal!important}.app{padding-bottom:90px}.top-heading h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.scene-card{transition:none}}

.language-picker{display:flex;align-items:center;gap:7px;font-size:11px}.language-picker select{background:#271b15;color:#f6e8d9;border:1px solid #654432;border-radius:20px;min-height:44px;padding:7px 9px;font:inherit}.pack-quality-note{color:#dcc7b5;font-size:13px;margin-bottom:24px;line-height:1.7}.legal-page .language-picker{margin-bottom:20px}@media(max-width:600px){.topbar{flex-wrap:wrap;gap:8px}.top-actions{flex-wrap:wrap;gap:6px}.language-picker>span{display:none}.language-picker select{max-width:85px}}
.language-picker select[data-language-selector]{width:36px;height:36px;min-height:36px;padding:0;border-radius:6px;color:transparent;appearance:none;background-repeat:no-repeat;background-position:center;background-size:21px 14px;cursor:pointer}.language-picker>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.language-picker select option{color:#f6e8d9;background:#271b15}
.language-picker select:has(option[value="en"]:checked){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Cpath fill='%23012169' d='M0 0h60v40H0z'/%3E%3Cpath stroke='white' stroke-width='8' d='m0 0 60 40M60 0 0 40'/%3E%3Cpath stroke='%23C8102E' stroke-width='3' d='m0 0 60 40M60 0 0 40'/%3E%3Cpath stroke='white' stroke-width='12' d='M30 0v40M0 20h60'/%3E%3Cpath stroke='%23C8102E' stroke-width='7' d='M30 0v40M0 20h60'/%3E%3C/svg%3E")}
.language-picker select:has(option[value="es"]:checked){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Cpath fill='%23AA151B' d='M0 0h60v40H0z'/%3E%3Cpath fill='%23F1BF00' d='M0 10h60v20H0z'/%3E%3C/svg%3E")}
.language-picker select:has(option[value="auto"]:checked){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23f6e8d9' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='16'/%3E%3Cellipse cx='20' cy='20' rx='7' ry='16'/%3E%3Cpath d='M4 20h32M7 11h26M7 29h26'/%3E%3C/g%3E%3C/svg%3E")}

/* Compact, consistently aligned photo examples (desktop and tablet). */
.photo-guide[open] .guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.photo-guide .guide-grid figure{min-width:0;margin:0}
.photo-guide .guide-grid img{display:block;width:100%;height:clamp(145px,17vw,205px);aspect-ratio:auto;object-fit:contain;object-position:center;background:#e6e2de;border-radius:10px}
.photo-guide .guide-grid figcaption{margin-top:7px;font-size:11px;line-height:1.35}
.photo-guide .bad-guide{margin:15px 0 0}
.photo-guide .bad-guide img{display:block;width:100%;height:clamp(135px,17vw,205px);object-fit:contain;object-position:center;background:#221914;border-radius:10px}
.photo-guide .bad-guide figcaption{margin-top:7px;line-height:1.4}
@media(max-width:650px){.photo-guide[open] .guide-grid{gap:8px}.photo-guide .guide-grid img{height:clamp(105px,31vw,170px)}.photo-guide .guide-grid figcaption{font-size:10px;line-height:1.3}.photo-guide .bad-guide img{height:145px}}
@media(max-width:380px){.photo-guide[open] .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-guide .guide-grid img{height:150px}}

/* Public, authorized seasonal sample portraits. Not part of the user's private gallery. */
.portrait-example-section{min-width:0}
.portrait-example-section .eyebrow{display:block;margin-bottom:9px;color:#ffb877;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.portrait-example-note{color:#d7bca5;font-size:13px;line-height:1.6;margin:5px 0 20px;max-width:680px}
.portrait-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.portrait-example-card{min-width:0;margin:0;overflow:hidden;border:1px solid #d9a26750;border-radius:17px;background:#241912}
.portrait-example-card a{display:block;overflow:hidden;aspect-ratio:2 / 3;background:#190f0b}
.portrait-example-card img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block;transition:transform .3s ease}
.portrait-example-card a:hover img,.portrait-example-card a:focus-visible img{transform:scale(1.025)}
.portrait-example-card figcaption{padding:12px 15px 17px;display:grid;gap:5px}
.portrait-example-card figcaption span{color:#d4ad88;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.portrait-example-card figcaption strong{color:#f9e7d2;font-size:15px;font-weight:600}
@media(max-width:720px){.portrait-example-grid{gap:10px}.portrait-example-card{border-radius:12px}.portrait-example-card figcaption{padding:9px 9px 12px}.portrait-example-card figcaption strong{font-size:12px}.portrait-example-card figcaption span{font-size:8px}.portrait-example-note{font-size:12px}}
@media(max-width:420px){.portrait-example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
