/* Content-led sizing: keep every phrase visible instead of hiding overflow. */
.ticker ul{list-style:none;margin:0;padding:0 4%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:center;text-align:center}
.ticker li{font-size:clamp(18px,2.15vw,28px);line-height:1.2;white-space:normal;overflow-wrap:break-word}
.ticker li+li{border-left:1px solid #20271f40;padding-left:20px}
.story-grid>*,.day-heading>*,.shop-heading>*,.wishlist>*,.form-columns>*,.hero-bottom>*{min-width:0}
.portrait{object-fit:contain;background:#e1e3d5;padding:24px;filter:none}
.chat-heading img{object-fit:contain;border-radius:0}
.chat-launch .chat-label{font-size:inherit;line-height:inherit}
.terrain-panel>img.brand-panel{object-fit:contain;padding:10%;background:#daddcd;opacity:.22}
#video-container{aspect-ratio:auto;background:#20271f}
#video-container video{display:block;width:100%;max-height:65svh;object-fit:contain}
@media(min-width:721px) and (max-width:980px){
 .nav{gap:12px;padding-inline:3%}.nav .brand-logo{width:125px}.nav nav{gap:12px}.nav-cta{font-size:8px;letter-spacing:.6px}.nav-cta span{margin-left:5px}
}
@media(max-width:720px){
 html{scroll-padding-top:76px}
 .nav{height:72px;padding:8px 5%;gap:12px}
 .nav .brand-logo{width:108px;height:54px;max-height:54px}
 .nav-cta{font-size:8px;letter-spacing:.7px;white-space:nowrap}
 .menu{width:44px;height:44px;padding:0;flex:0 0 44px;line-height:1}
 .nav nav{top:72px;max-height:calc(100dvh - 72px);overflow-y:auto;padding:14px 6%}
 .nav nav a{font-size:13px;min-height:44px}
 .hero{height:auto;min-height:calc(100svh - 72px);max-height:none;display:flex;flex-direction:column;justify-content:center}
 .hero-copy{padding:100px 7% 44px;width:100%;max-width:none}
 .hero h1{font-size:clamp(70px,20vw,140px);overflow-wrap:break-word;line-height:.9}
 .hero-bottom{gap:16px;align-items:center}
 .hero-bottom p{max-width:none;flex:1;font-size:13px}
 .hero .circle-link{width:76px;height:76px;font-size:7px}
 .hero-foot{position:relative;left:auto;right:auto;bottom:auto;margin:0 7% 22px;padding-top:18px;gap:16px;font-size:7px;line-height:1.6}
 .hero-foot>span:first-child{max-width:50%}
 .hero-foot>a{text-align:right}
 .ticker{padding:20px 0}
 .ticker ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 5%}
 .ticker li{padding:12px 10px;font-size:clamp(18px,4.8vw,24px);letter-spacing:.5px;line-height:1.2}
 .ticker li+li{padding-left:10px}
 .ticker li:nth-child(3){border-left:0}
 .ticker li:nth-child(n+3){border-top:1px solid #20271f40}
 .day-heading h2,.story h2,.foundation h2,.planner h2,.world-heading h2,.wishlist h2{font-size:clamp(36px,10.5vw,48px);line-height:1.02}
 .day-stage{height:auto;min-height:0}
 .day-copy{padding:116px 7% 105px;max-width:none}
 .day-copy h3{font-size:clamp(40px,12vw,57px);line-height:1;overflow-wrap:break-word}
 .day-invitation{max-width:none}
 .day-next{bottom:30px;width:48px;height:48px}
 .day-image-note{max-width:65%;font-size:7px;line-height:1.5;bottom:30px}
 .day-track{grid-template-columns:repeat(5,minmax(0,1fr))}
 .day-track button{min-width:0;min-height:64px;font-size:10px}
 .day-track button span{font-size:clamp(10px,2.8vw,14px);letter-spacing:0}
 .portrait-wrap{padding-right:0;width:100%;max-width:400px}
 .portrait{aspect-ratio:1.2;padding:36px 20px 65px}
 .portrait-caption{left:15px;right:15px;padding:15px 18px}
 .stamp{width:78px;height:78px;right:0;top:-15px;font-size:15px}
 .stamp b{font-size:23px}
 .terrain-panel{height:auto;min-height:0}
 .terrain-content{padding:75px 7% 85px;max-width:none}
 .terrain-content h3{font-size:clamp(39px,11vw,56px);line-height:1.02;overflow-wrap:break-word}
 .terrain-content p{max-width:none}
 .terrain-content .button{font-size:9px;line-height:1.5;max-width:100%;text-align:center;padding:16px 12px}
 .terrain-number{font-size:48px;bottom:18px;pointer-events:none}
 .terrain-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
 .terrain-tabs button{min-width:0;min-height:60px;padding:15px 7px;font-size:9px}
 .terrain-tabs button span{font-size:clamp(13px,3.8vw,18px);letter-spacing:0}
 .image-caption{max-width:90%;font-size:7px}
 .reel-grid{display:grid;grid-template-columns:1fr;overflow:visible;gap:25px}
 .reel-grid article{min-width:0}
 .reel-grid video{height:auto;max-height:65svh;object-fit:contain}
 .shop-heading{display:block}
 .product-grid{grid-template-columns:1fr}
 .shop-filters button{max-width:100%;white-space:normal}
 input,textarea,select,.atlas-search input,.owner-panel input,.owner-panel textarea,.owner-panel select{font-size:16px;max-width:100%}
 .form-actions{flex-wrap:wrap}
 .button{max-width:100%;white-space:normal;line-height:1.5;text-align:center}
 .chat-launch{width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;justify-content:center;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:0}
 .chat-launch>span:first-child{font-size:26px}
 .chat-launch .chat-label{display:none}
 #chat-dialog{max-height:calc(100dvh - 24px);padding:50px 20px 22px;overflow:auto}
 .chat-messages{height:clamp(110px,23dvh,200px)}
 footer{padding-bottom:85px}
 .owner-header .brand-logo{width:120px}
 .owner-main,.owner-panel form{min-width:0}
 .owner-tabs{gap:4px;white-space:normal}
 .owner-tabs button{min-height:44px;flex:1 1 130px}
 .studio-row{gap:12px}.studio-row>span:first-child{min-width:0;overflow-wrap:anywhere}
 .request-row a{overflow-wrap:anywhere}
}
@media(max-width:420px){.nav-cta{display:none}.menu{margin-left:auto}.hero .eyebrow{font-size:7px;letter-spacing:.7px}.connect h2>span{font-size:16vw}}

/* Owner-editable social channels */
.social-section{margin-top:70px;padding-top:40px;border-top:1px solid #737d6a}
.social-section h3{font-family:var(--display,'Oswald',sans-serif);font-size:clamp(30px,4vw,54px);line-height:1.15;margin:18px 0}
.social-section>p:not(.section-label){max-width:620px;line-height:1.65}
.social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.social-card{display:flex;flex-direction:column;gap:18px;min-width:0;padding:24px;background:#f0eee4;color:#20271f;text-decoration:none;border:1px solid #737d6a;transition:transform .2s,background .2s}
.social-card:hover{background:#ee7b37;transform:translateY(-4px)}
.social-card:focus-visible{outline:3px solid #ee7b37;outline-offset:4px}
.social-platform{display:flex;justify-content:space-between;gap:12px;font-size:12px;letter-spacing:1.4px;font-weight:700}
.social-card strong{font-size:23px;line-height:1.2}
.social-card>span:last-child{font-size:14px;line-height:1.5}
footer .footer-social{display:flex;flex-wrap:wrap;gap:18px;max-width:100%}
@media(max-width:1000px){.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.social-grid{grid-template-columns:1fr}.social-section{margin-top:44px;padding-top:30px}.social-card{padding:22px;gap:13px}footer .footer-social{flex-direction:column;align-items:flex-start;gap:20px}}
@media(prefers-reduced-motion:reduce){.social-card{transition:none}.social-card:hover{transform:none}}
