/* Relanno / warm signal. Native typography, live canvas, quiet glass. */
.home-page { --display:'DM Sans',sans-serif; --gutter:clamp(22px,5.2vw,88px); --home-bg:#10100f; --home-ink:#f3eee8; --home-muted:#aaa49e; --home-accent:#ff7749; --accent:#ff7749; --muted:#aaa49e; --white:#f3eee8; background:var(--home-bg); color:var(--home-ink); color-scheme:dark; }
.home-page .container { width:min(100% - var(--gutter) * 2,1280px); }
.home-page main { overflow:clip; }
.home-page main > section { position:relative; isolation:isolate; }
.home-page .brand-word { font-family:'Space Grotesk',sans-serif; }
.home-page a:focus-visible,.home-page button:focus-visible,.home-page summary:focus-visible { outline:2px solid #ff9c75; outline-offset:6px; }
.home-page .eyebrow { font-size:10px; line-height:1.6; font-weight:500; letter-spacing:.16em; color:#bcb2aa; }
.home-page ::selection { background:#a83a1e; color:#fff; }
.home-page .button-accent { background:#ff7140; border-color:#ff7140; color:#1b100b; font-weight:600; box-shadow:0 0 38px #ff562015; }
.home-page .button-accent:hover { background:#ff9265; border-color:#ff9265; box-shadow:0 0 38px #ff562035; }
.status-dot { display:inline-block; flex:none; width:5px; height:5px; border-radius:50%; background:#ff8458; box-shadow:0 0 15px #ff642b66; }
.landing-hero { min-height:980px; padding-top:210px; text-align:center; overflow:clip; }
.hero-art { position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 68% 80%,#9c301621,transparent 47%); }
.signal-canvas { width:100%; height:100%; display:block; }
.landing-intro { position:relative; z-index:2; }
.hero-kicker { display:flex; align-items:center; justify-content:center; gap:12px; color:#cbc0b7; font-size:10px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }
.landing-intro h1 { font-family:var(--display); font-size:clamp(68px,8.2vw,118px); font-weight:450; line-height:.99; letter-spacing:-.065em; text-transform:uppercase; margin:30px auto 30px; }
.hero-line { display:block; overflow:clip; padding-bottom:.13em; margin-bottom:-.13em; white-space:nowrap; }
.hero-reveal { display:inline-block; }
.hero-reveal em { font-style:normal; color:#ff8758; }
.landing-lead { font-size:18px; line-height:1.65; color:#c6bcb4; margin-inline:auto; max-width:570px; }
.landing-actions { margin-top:31px; display:flex; justify-content:center; }
.landing-actions .button { min-height:58px; gap:28px; padding-inline:27px; font-size:13px; }
.landing-baseline { position:absolute; z-index:3; inset:auto 0 27px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.landing-baseline > span { font-size:9px; letter-spacing:.06em; color:#b9a394; }
.landing-baseline .hero-index { display:flex; align-items:center; gap:14px; }
.hero-index .icon { width:14px; height:14px; }
@media (prefers-reduced-motion:no-preference) {
  .hero-reveal { animation:headline-rise .95s cubic-bezier(.2,.75,.15,1) both; }
  .hero-line:nth-child(2) .hero-reveal { animation-delay:.12s; }
  .hero-kicker,.landing-lead,.landing-actions { animation:content-rise .85s ease both; animation-delay:.15s; }
  .landing-lead,.landing-actions { animation-delay:.3s; }
  @keyframes headline-rise { from { opacity:0; transform:translateY(102%); } to { opacity:1; transform:none; } }
  @keyframes content-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
}
.section-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:45px; }
.section-topline > span { font-size:11px; color:#958b82; }
.approach-section { padding:105px 0 75px; scroll-margin-top:0; }
.approach-heading { display:grid; grid-template-columns:1.5fr 1fr; gap:70px; align-items:end; }
.approach-heading h2 { font-family:var(--display); font-size:clamp(60px,6.7vw,96px); font-weight:400; letter-spacing:-.065em; line-height:1.02; }
.approach-heading h2 > span { color:#ff8253; }
.approach-heading > p { font-size:17px; line-height:1.8; color:#b7afa7; padding-bottom:6px; max-width:380px; }
.numbers-section { margin-top:61px; scroll-margin-top:130px; }
.studio-numbers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; padding:0; }
.number-card { position:relative; border:1px solid #fff2; border-radius:24px; padding:28px 31px 30px; background:linear-gradient(140deg,#ffffff08,#ffffff02); overflow:hidden; -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.number-native { background:radial-gradient(ellipse at 0 0,#d9512733,transparent 80%),#ffffff04; border-color:#ff9c6c4a; }
.metric-top { display:flex; justify-content:space-between; align-items:center; gap:15px; color:#9f948b; font-size:10px; }
.metric-top .icon { width:18px; height:18px; color:#d2b49d; }
.number-card dl { margin:0; }
.studio-numbers dt { font-size:clamp(66px,6.6vw,95px); font-weight:400; letter-spacing:-.07em; line-height:1; font-variant-numeric:lining-nums tabular-nums; margin:42px 0 20px; }
.studio-numbers dt small { font-size:.55em; color:#e6b99b; padding-left:2px; }
.studio-numbers dd { font-size:20px; font-weight:400; letter-spacing:-.025em; margin:0; }
.number-card > p { font-size:12px; line-height:1.7; color:#958a81; margin-top:11px; }
.markets-section { padding:110px 0 92px; scroll-margin-top:-20px; }
.markets-section::before { content:''; position:absolute; z-index:-1; inset:35% 0 0; background:radial-gradient(ellipse at 50% 80%,#52291820,transparent 68%); pointer-events:none; }
.markets-heading { text-align:center; }
.markets-heading h2 { font-family:var(--display); font-size:clamp(65px,7.6vw,109px); line-height:1; letter-spacing:-.065em; font-weight:400; margin-top:27px; }
.markets-heading h2 span { color:#ff8253; }
.markets-heading > p:last-child { font-size:15px; line-height:1.8; color:#aaa096; margin-top:25px; }
.market-map { position:relative; margin:30px -35px 0; }
.market-geography { display:block; width:100%; height:auto; filter:drop-shadow(0 0 25px #a54c2028); }
.market-marker { position:absolute; left:var(--mx); top:var(--my); z-index:2; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:29px; height:29px; border:2px solid #eee4d7; border-radius:50%; background:#eee4d7; box-shadow:0 0 18px #ff9a5a19; transition:transform .2s,box-shadow .2s; }
.market-marker > img { width:25px; height:25px; object-fit:cover; border-radius:50%; }
.marker-name { position:absolute; left:calc(100% + 8px); font-size:11px; line-height:1.4; font-weight:400; color:#eee0d5; white-space:nowrap; text-shadow:0 2px 8px #0a0a0a; pointer-events:none; }
.market-marker[data-marker="kr"] .marker-name { left:auto; right:calc(100% + 8px); }
.market-marker:hover,.market-marker.is-emphasized { z-index:5; transform:translate(-50%,-50%) scale(1.13); box-shadow:0 0 0 6px #fba75b18,0 0 24px #ff884d33; }
.market-directory { display:grid; grid-template-columns:1fr 2.25fr 1.2fr .8fr; gap:30px; border-top:1px solid #e9c1a625; margin-top:20px; padding-top:31px; }
.market-region h3 { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:10px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:#b29c8a; }
.market-region h3 > span { color:#958575; font-size:9px; }
.market-region ul { display:flex; flex-direction:column; gap:13px; list-style:none; margin:23px 0 0; padding:0; }
.market-region:nth-child(2) ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px 16px; }
.market-region li { display:flex; align-items:center; gap:9px; font-size:12px; line-height:1.6; color:#d8c9bd; }
.market-region li img { width:18px; height:13.5px; object-fit:cover; border-radius:2px; flex:none; }
.journey-section { padding:105px 0 100px; scroll-margin-top:-10px; }
.journey-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:65px; }
.journey-heading h2 { font-family:var(--display); font-size:clamp(48px,5.5vw,79px); font-weight:400; letter-spacing:-.06em; line-height:1.05; }
.journey-heading h2 > span { color:#ff8253; }
.journey-heading > p { color:#9b9188; line-height:1.8; font-size:14px; padding-bottom:4px; }
.journey-layout { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:110px; }
.journey-track { position:sticky; top:145px; padding:28px 30px; border:1px solid #ecd0b928; border-radius:24px; background:radial-gradient(ellipse at 0 100%,#af4a2221,transparent 80%),#ffffff03; max-width:365px; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.journey-track-top { display:flex; justify-content:space-between; gap:15px; font-size:9px; letter-spacing:.1em; color:#9b8879; }
.journey-display { margin-top:45px; }
.journey-number { display:block; font-family:var(--display); font-size:140px; font-weight:400; line-height:1; letter-spacing:-.07em; color:#f47d4e; font-variant-numeric:tabular-nums; }
.journey-verb { display:block; font-family:var(--display); font-size:35px; line-height:1.2; letter-spacing:-.045em; font-weight:400; color:#ece2d8; margin-top:10px; }
.journey-progress { display:flex; gap:8px; margin-top:32px; }
.journey-progress > span { flex:1; height:2px; background:#42362d; transition:background .3s; }
.journey-progress .is-current,.journey-progress .is-complete { background:#f18152; }
.journey-track > p { font-size:12px; line-height:1.8; color:#918071; margin-top:22px; }
.journey-steps { position:relative; list-style:none; padding:0 0 0 33px; margin:0; border-left:1px solid #6d4e374d; --journey-progress:0%; }
.journey-steps::before { content:''; position:absolute; left:-1px; top:0; width:1px; height:var(--journey-progress); background:#cc7446; }
.journey-step { position:relative; min-height:285px; padding:30px 0 35px; border-bottom:1px solid #ead0b91c; scroll-margin-top:40px; }
.journey-step:first-child { padding-top:9px; min-height:260px; }
.journey-step:last-child { border-bottom:0; }
.journey-step::before { content:''; position:absolute; top:34px; left:-38px; width:9px; height:9px; border:1px solid #8c6950; background:#100d0b; border-radius:50%; transition:background .3s; }
.journey-step:first-child::before { top:12px; }
.journey-step.is-active::before { background:#f89b67; border-color:#f89b67; }
.journey-step-meta { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:.12em; color:#9e8877; }
.journey-step-meta .icon { width:18px; height:18px; color:#bd9372; }
.journey-step.is-active .journey-step-meta { color:#ff986a; }
.journey-step h3 { font-family:var(--display); font-size:35px; font-weight:450; letter-spacing:-.045em; line-height:1.15; margin:22px 0 17px; color:#e6ddd4; }
.journey-step > p { max-width:550px; font-size:16px; line-height:1.8; color:#aaa097; }
.journey-topics { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; font-size:10px; color:#a9927f; }
.journey-topics span { border:1px solid #c6a58b22; border-radius:99px; padding:6px 10px; }
.faq-section { padding:110px 0; scroll-margin-top:0; border-top:1px solid #ead0b913; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:110px; }
.faq-intro { position:sticky; top:145px; }
.faq-intro h2 { font-size:clamp(64px,6.8vw,98px); font-weight:400; line-height:1; letter-spacing:-.06em; margin-top:26px; }
.faq-intro h2 span { color:#ff8758; }
.faq-intro > p:last-of-type { font-size:14px; line-height:1.8; color:#a89a8e; margin-top:25px; }
.faq-intro .text-link { margin-top:22px; color:#d9beab; font-size:12px; }
.faq-list { border-top:1px solid #e2c8af38; }
.faq-item { border-bottom:1px solid #e2c8af2a; }
.faq-item summary { display:grid; grid-template-columns:22px 1fr 20px; gap:18px; align-items:center; padding:29px 0; font-size:18px; font-weight:400; letter-spacing:-.02em; line-height:1.4; list-style:none; cursor:pointer; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-index { font-size:10px; color:#90735e; }
.faq-item summary > .icon { width:19px; height:19px; color:#b99b82; transition:transform .25s; }
.faq-item summary:hover { color:#ffb189; }
.faq-item[open] summary > .icon { transform:rotate(45deg); color:#ff9865; }
.faq-item[open] summary { color:#ffab7f; }
.faq-answer { padding:0 35px 29px 40px; }
.faq-answer p { font-size:15px; line-height:1.85; color:#b5a89b; }
.faq-answer a { color:#eee1d4; text-decoration:underline; text-underline-offset:4px; }
.home-contact { padding:50px 0 110px; }
.contact-grid { display:grid; grid-template-columns:1.25fr 1fr; grid-template-rows:1fr 1fr; gap:18px; position:relative; }
.contact-grid::before { content:''; position:absolute; z-index:-1; inset:30% -10% -8%; background:radial-gradient(ellipse at 35% 65%,#f2572c2b,transparent 55%); filter:blur(60px); pointer-events:none; }
.contact-main,.contact-card { border-radius:28px; border:1px solid #f5d8be30; background:#ffffff03; box-shadow:inset 0 1px 0 #fff1; -webkit-backdrop-filter:blur(28px); backdrop-filter:blur(28px); }
.contact-main { grid-row:1 / 3; padding:47px 48px 43px; min-height:660px; background:radial-gradient(ellipse at 0 100%,#d5442357,transparent 75%),#17141266; }
.contact-main .eyebrow { display:flex; align-items:center; gap:10px; letter-spacing:.1em; }
.contact-main h2 { font-family:var(--display); font-size:clamp(65px,6.2vw,89px); font-weight:400; line-height:1; letter-spacing:-.06em; margin:49px 0 42px; }
.contact-main h2 span { color:#ff9667; }
.contact-button { min-height:56px; gap:25px; padding-inline:26px; font-size:13px; }
.contact-email { display:block; width:fit-content; margin-top:22px; font-size:12px; color:#c29e86; }
.contact-card { display:flex; flex-direction:column; justify-content:space-between; gap:26px; padding:31px 34px; transition:border-color .25s,background .25s; }
.contact-card:hover { background:#f8c79c0c; border-color:#efbe9470; }
.contact-card-top { display:flex; justify-content:space-between; gap:20px; align-items:center; color:#af917b; font-size:9px; letter-spacing:.11em; }
.contact-card-top .icon { width:18px; height:18px; }
.contact-card h3 { font-size:36px; line-height:1.1; font-weight:400; letter-spacing:-.045em; }
.contact-card p { font-size:13px; line-height:1.8; color:#a7917f; margin-top:14px; }
.contact-card-link { display:flex; align-items:center; gap:16px; font-size:11px; color:#dab394; }
.contact-card-link .icon { width:17px; height:17px; }
.contact-ideas { background:linear-gradient(135deg,#83472114,#ffffff02); }
.home-page .site-footer { background:#0a0a0a; border-top-color:#d1a88221; }
@media (max-width:1100px) {
  .landing-hero { min-height:920px; padding-top:220px; }
  .landing-intro h1 { font-size:8.2vw; }
  .approach-heading { gap:40px; grid-template-columns:1.4fr 1fr; }
  .approach-heading > p { font-size:15px; }
  .approach-heading h2 { font-size:6.8vw; }
  .number-card { padding-inline:24px; }
  .market-map { margin-inline:-10px; }
  .marker-name { font-size:9px; left:calc(100% + 6px); }
  .market-marker { width:25px; height:25px; }
  .market-marker > img { width:21px; height:21px; }
  .market-directory { gap:23px; }
  .market-region li { font-size:10px; gap:7px; }
  .journey-heading { gap:35px; }
  .journey-heading > p { font-size:12px; }
  .journey-layout,.faq-layout { gap:65px; }
  .journey-track { padding:24px; }
  .journey-number { font-size:120px; }
  .journey-verb { font-size:31px; }
  .journey-step h3 { font-size:29px; }
  .journey-step > p { font-size:14px; }
  .contact-main { padding:35px; }
  .contact-main h2 { font-size:6.3vw; }
  .contact-card { padding:28px; }
  .contact-card h3 { font-size:32px; }
}
@media (max-width:850px) {
  .landing-hero { min-height:870px; padding-top:215px; }
  .landing-lead { font-size:17px; }
  .section-topline { margin-bottom:32px; }
  .section-topline > span { font-size:9px; }
  .approach-section { padding-block:80px 65px; }
  .approach-heading { display:block; }
  .approach-heading h2 { font-size:9vw; }
  .approach-heading > p { margin-top:27px; max-width:520px; font-size:16px; }
  .numbers-section { margin-top:43px; }
  .studio-numbers { gap:12px; }
  .number-card { padding:22px 19px; border-radius:20px; }
  .metric-top { font-size:9px; }
  .metric-top .icon { display:none; }
  .studio-numbers dt { font-size:64px; margin-block:32px 16px; }
  .studio-numbers dd { font-size:17px; }
  .number-card > p { font-size:11px; }
  .markets-section { padding-block:85px 70px; }
  .markets-heading h2 { font-size:80px; }
  .marker-name { display:none; }
  .market-directory { grid-template-columns:1fr 1.7fr; gap:32px 45px; }
  .market-region:nth-child(4) { grid-column:2; }
  .market-region h3 { font-size:10px; }
  .market-region li { font-size:12px; }
  .journey-section { padding-block:80px; }
  .journey-heading { display:block; margin-bottom:50px; }
  .journey-heading h2 { font-size:6.6vw; }
  .journey-heading > p { font-size:14px; margin-top:25px; }
  .journey-layout { grid-template-columns:.8fr 1.2fr; gap:35px; }
  .journey-track { top:125px; padding:20px; }
  .journey-track-top { font-size:8px; gap:12px; }
  .journey-number { font-size:100px; }
  .journey-verb { font-size:27px; }
  .journey-step h3 { font-size:27px; }
  .journey-step > p { font-size:13px; }
  .journey-step { min-height:310px; }
  .faq-section { padding-block:85px; }
  .faq-layout { gap:40px; }
  .faq-intro h2 { font-size:70px; }
  .faq-item summary { font-size:16px; gap:12px; }
  .faq-answer { padding-left:34px; padding-right:8px; }
  .faq-answer p { font-size:13px; }
  .home-contact { padding-bottom:85px; }
  .contact-grid { grid-template-columns:1.1fr 1fr; gap:12px; }
  .contact-main { padding:30px 25px; min-height:620px; }
  .contact-main h2 { font-size:7vw; margin-block:48px 38px; }
  .contact-main .eyebrow { font-size:8px; }
  .contact-card { padding:24px; gap:22px; }
  .contact-card h3 { font-size:28px; }
}
@media (max-width:640px) {
  .home-page .eyebrow { font-size:9px; letter-spacing:.12em; }
  .landing-hero { min-height:800px; padding-top:194px; }
  .hero-kicker { font-size:8px; letter-spacing:.08em; gap:9px; }
  .landing-intro h1 { font-size:clamp(34px,10.5vw,67px); line-height:1.04; letter-spacing:-.065em; margin-block:29px 24px; }
  .landing-lead { font-size:15px; line-height:1.7; }
  .landing-actions { margin-top:27px; }
  .landing-actions .button { min-height:54px; font-size:12px; gap:24px; }
  .landing-baseline { bottom:20px; gap:15px; }
  .landing-baseline > span { font-size:8px; letter-spacing:0; }
  .landing-baseline .hero-index { display:none; }
  .section-topline > span { display:none; }
  .approach-section { padding:65px 0 50px; }
  .approach-heading h2 { font-size:clamp(40px,10.4vw,66px); }
  .approach-heading > p { font-size:15px; line-height:1.8; margin-top:25px; }
  .numbers-section { margin-top:37px; }
  .studio-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .number-native { grid-column:1/-1; }
  .number-card { padding:23px; }
  .number-native dt { font-size:86px; }
  .studio-numbers dt { margin-top:26px; }
  .studio-numbers dd { font-size:17px; }
  .number-card > p { font-size:11px; }
  .metric-top .icon { display:block; }
  .number-card:not(.number-native) .metric-top .icon { display:none; }
  .markets-section { padding:65px 0 60px; }
  .markets-heading h2 { font-size:clamp(45px,12.3vw,76px); margin-top:24px; }
  .markets-heading > p:last-child { font-size:13px; margin-top:22px; }
  .market-map { margin:30px -9px 0; }
  .market-geography, .market-coastlines { filter: none; }
  .market-coastlines > g > path { vector-effect: non-scaling-stroke; }
  .market-marker { width:clamp(13px,3.7vw,22px); height:clamp(13px,3.7vw,22px); border-width:1px; }
  .market-marker > img { width:100%; height:100%; }
  .market-directory { grid-template-columns:1fr 1fr; gap:29px 30px; margin-top:27px; padding-top:25px; }
  .market-region:first-child { order:1; }
  .market-region:nth-child(4) { order:2; grid-column:auto; }
  .market-region:nth-child(2) { order:3; grid-column:1/-1; }
  .market-region:nth-child(3) { order:4; grid-column:1/-1; }
  .market-region h3 { font-size:9px; }
  .market-region h3 > span { font-size:8px; }
  .market-region ul { margin-top:17px; }
  .market-region li { font-size:11px; }
  .market-region:nth-child(2) ul,.market-region:nth-child(3) ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 30px; }
  .market-region li img { width:18px; height:13.5px; }
  .journey-section { padding-block:65px; }
  .journey-heading { margin-bottom:41px; }
  .journey-heading h2 { font-size:clamp(35px,8.9vw,57px); line-height:1.08; }
  .journey-heading > p { font-size:14px; margin-top:23px; }
  .journey-layout { display:block; }
  .journey-track { display:none; }
  .journey-steps { margin-left:5px; padding-left:24px; }
  .journey-step { min-height:0; padding-block:29px 33px; scroll-margin-top:20px; }
  .journey-step:first-child { padding-top:7px; min-height:0; }
  .journey-step::before { left:-29px; top:32px; }
  .journey-step:first-child::before { top:10px; }
  .journey-step-meta { font-size:9px; }
  .journey-step h3 { font-size:28px; margin:20px 0 16px; }
  .journey-step > p { font-size:14px; }
  .journey-topics { font-size:10px; }
  .faq-section { padding-block:65px; }
  .faq-layout { display:block; }
  .faq-intro { position:static; margin-bottom:37px; }
  .faq-intro h2 { font-size:65px; }
  .faq-item summary { font-size:16px; padding-block:25px; gap:12px; }
  .faq-answer p { font-size:14px; }
  .home-contact { padding:30px 0 75px; }
  .contact-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:14px; }
  .contact-main { grid-row:auto; padding:30px; min-height:0; }
  .contact-main h2 { font-size:clamp(58px,14vw,82px); margin-block:35px 31px; }
  .contact-main .eyebrow { font-size:9px; }
  .contact-button { font-size:12px; min-height:54px; }
  .contact-card { min-height:280px; padding:28px 30px; }
  .contact-card h3 { font-size:34px; }
  .contact-card p { font-size:14px; }
}
@media (max-width:360px) {
  .landing-hero { min-height:760px; padding-top:179px; }
  .hero-kicker { font-size:7px; }
  .landing-intro h1 { font-size:10.5vw; }
  .landing-lead { font-size:13px; }
  .landing-baseline > span { max-width:120px; line-height:1.6; }
  .approach-heading h2 { font-size:36px; }
  .number-card { padding:20px; }
  .studio-numbers dt { font-size:56px; }
  .number-native dt { font-size:82px; }
  .studio-numbers dd { font-size:16px; }
  .market-region li { font-size:10px; }
  .journey-heading h2 { font-size:31px; }
  .journey-step h3 { font-size:25px; }
  .contact-main { padding:26px; }
  .contact-main h2 { font-size:53px; }
}
@supports not (backdrop-filter:blur(1px)) {
}

/* Compact studio badge, aligned with the hero rather than the navigation. */
.hero-badge { display:inline-flex; align-items:center; gap:11px; border:1px solid #f4d4bd2a; border-radius:999px; padding:7px 16px 7px 8px; background:#dcc1a90a; box-shadow:inset 0 1px 0 #ffffff0a,0 4px 24px #0002; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); color:#d8cbbf; font-size:11px; font-weight:400; letter-spacing:.01em; text-transform:none; }
.badge-portraits { display:inline-flex; align-items:center; padding-left:7px; }
.badge-portraits img { width:25px; height:25px; margin-left:-7px; border:2px solid #2b211b; border-radius:50%; object-fit:cover; }
.badge-portraits img:nth-child(1) { z-index:3; }
.badge-portraits img:nth-child(2) { z-index:2; }
.badge-portraits img:nth-child(3) { z-index:1; }
.badge-dot { color:#a37e64; padding-inline:3px; }
@media(max-width:640px) { .hero-badge { font-size:10px; gap:9px; padding-right:13px; } .badge-portraits img { width:23px; height:23px; } }
@media(max-width:360px) { .hero-badge { font-size:9px; gap:8px; } }

/* Revision 9: readable annotations, tactile actions and responsive light. */
.home-page .eyebrow { font-size:12px; letter-spacing:.12em; }
.landing-intro h1 { font-size:clamp(61px,7.5vw,108px); }
.landing-lead { font-size:19px; max-width:620px; }
.hero-badge { font-size:13px; padding-block:8px; color:#e4d8ca; }
.landing-baseline > span,.landing-baseline .hero-index { font-size:13px; color:#d5bba9; letter-spacing:0; line-height:1.5; }
.landing-baseline .hero-index { display:inline-flex; align-items:center; gap:15px; min-height:44px; }
.hero-index:hover .icon { transform:translateY(3px); }
.hero-index .icon { width:17px; height:17px; transition:transform .2s; }
.approach-section { padding-top:72px; }
.section-topline > span { font-size:13px; color:#b5a69a; }
.metric-top { font-size:13px; color:#c2ad9c; }
.number-card > p { font-size:14px; line-height:1.7; color:#b6a79b; }
.number-native { isolation:isolate; }
.number-native dt,.number-native dd,.number-native > p { position:relative; z-index:1; }
.markets-heading h2 { font-size:clamp(60px,6.8vw,98px); }
.markets-heading > p:last-child { font-size:17px; }
.marker-name { font-size:12px; }
.market-region h3 { font-size:12px; letter-spacing:.07em; }
.market-region h3 > span { font-size:12px; color:#ad9784; }
.market-region li { font-size:14px; }
.journey-heading > p { font-size:16px; }
.journey-track-top { justify-content:flex-end; font-size:13px; color:#c2a78e; }
.journey-display { margin-top:23px; }
.journey-step-meta { font-size:12px; color:#b89a83; }
.journey-step h3 { font-size:33px; }
.journey-topics { font-size:12px; }
.journey-topics span { padding:7px 12px; color:#c9af97; }
.faq-intro > p:last-of-type { font-size:16px; }
.faq-intro .text-link { font-size:14px; }
.faq-index { font-size:12px; }
.action-button,.landing-actions .action-button { position:relative; isolation:isolate; overflow:hidden; min-height:66px; min-width:264px; padding:8px 8px 8px 28px; gap:28px; justify-content:space-between; background:linear-gradient(175deg,#ffb58d 0%,#ff8b58 40%,#f36b3a 100%); border:1px solid #ffc59a99; color:#291209; font-size:15px; font-weight:600; box-shadow:inset 0 2px 1px #ffecda70,inset 0 -2px 4px #a9321840,0 8px 30px #d74f252c,0 0 0 5px #ff8a4d08; transition:transform .3s,box-shadow .3s,border-color .3s; }
.action-button::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,transparent 25%,#fff7 48%,transparent 70%); transform:translateX(-125%); transition:transform .7s ease; pointer-events:none; }
.action-button:hover,.action-button:focus-visible { background:linear-gradient(175deg,#ffbf98 0%,#ff9965 40%,#f87641 100%); border-color:#ffdbb9; transform:translateY(-3px); box-shadow:inset 0 2px 1px #ffecda80,inset 0 -2px 4px #a9321820,0 12px 40px #e95c3a42,0 0 0 6px #ff8a4d0d; }
.action-button:hover::before,.action-button:focus-visible::before { transform:translateX(125%); }
.action-orb { display:grid; place-items:center; flex:none; width:48px; height:48px; border-radius:50%; color:#fff4e7; background:linear-gradient(150deg,#643b2d,#2c150e); border:1px solid #9c563a; box-shadow:inset 0 1px 2px #ffffff42,0 2px 4px #58271535; }
.action-orb .icon { width:21px; height:21px; }
.contact-main { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:690px; padding:46px; }
.contact-main h2 { font-size:clamp(62px,5.5vw,79px); line-height:1.04; margin:0 0 26px; }
.contact-intro { font-size:17px; line-height:1.8; color:#cfb9a8; max-width:450px; }
.contact-button { margin-top:33px; }
.contact-address { display:flex; position:relative; align-items:center; justify-content:space-between; gap:25px; width:100%; margin-top:35px; padding:18px 0 0; border-top:1px solid #f5d9bf30; }
.contact-address > a { display:flex; flex-direction:column; gap:6px; font-size:18px; letter-spacing:-.02em; color:#f0d9c8; min-width:0; }
.contact-address .address-label { font-size:12px; letter-spacing:.04em; color:#bb9a83; }
.copy-email { display:grid; place-items:center; flex:none; width:46px; height:46px; border-radius:50%; background:#f9d4b90a; border:1px solid #f9d4b933; color:#edc6aa; transition:background .2s,border-color .2s; }
.copy-email:hover { background:#f9d4b922; border-color:#f9d4b966; }
.copy-email .icon { width:19px; height:19px; }
.copy-status { position:absolute; right:0; bottom:-24px; font-size:12px; color:#ffd4b8; }
.contact-card { position:relative; isolation:isolate; overflow:hidden; }
.contact-card-top { font-size:12px; letter-spacing:.08em; color:#c6a98f; position:relative; z-index:2; }
.contact-card p { font-size:15px; }
.contact-card-link { font-size:14px; }
.contact-ideas h3,.contact-ideas p { position:relative; z-index:2; }
@media(max-width:1100px) {
 .marker-name { display:none; }
 .number-card { padding-inline:23px; }
 .studio-numbers dt { font-size:76px; }
 .number-card > p { font-size:13px; }
 .market-region li { font-size:12px; }
 .contact-main { padding:35px; }
 .contact-main h2 { font-size:6vw; }
 .contact-card-top { font-size:11px; }
 .contact-ideas h3 { font-size:32px; }
 .contact-intro { font-size:15px; }
}
@media(max-width:850px) {
 .landing-intro h1 { font-size:7.5vw; }
 .section-topline > span { font-size:12px; }
 .metric-top { font-size:12px; }
 .studio-numbers dt { font-size:61px; }
 .market-region li { font-size:13px; }
 .journey-heading > p { font-size:15px; }
 .journey-step-meta { font-size:11px; }
 .journey-step h3 { font-size:27px; }
 .journey-topics { font-size:11px; }
 .contact-main { padding:30px; }
 .contact-main h2 { font-size:6.8vw; }
 .contact-card { padding:26px; }
 .contact-card-top { font-size:10px; letter-spacing:.05em; }
 .contact-card-link { font-size:12px; }
 .contact-ideas h3 { font-size:28px; }
 .contact-card p { font-size:14px; }
 .contact-address > a { font-size:16px; }
 .action-button,.landing-actions .action-button { min-width:235px; font-size:14px; padding-left:23px; gap:18px; }
}
@media(max-width:640px) {
 .home-page .eyebrow { font-size:11px; }
 .landing-hero { min-height:800px; padding-top:174px; }
 .landing-intro h1 { font-size:9.4vw; margin-top:30px; line-height:1.09; }
 .landing-lead { font-size:16px; max-width:350px; }
 .hero-badge { font-size:12px; gap:10px; }
 .landing-baseline > span { font-size:12px; max-width:210px; }
 .landing-baseline .hero-index { display:none; }
 .section-topline { align-items:flex-start; }
 .section-topline > span { max-width:125px; text-align:right; font-size:11px; line-height:1.6; }
 .approach-section { padding-top:60px; }
 .approach-heading h2 { font-size:clamp(40px,10.4vw,66px); }
 .number-native dt { font-size:82px; }
 .metric-top { font-size:12px; }
 .number-card > p { font-size:13px; }
 .markets-heading h2 { font-size:10.2vw; }
 .markets-heading > p:last-child { font-size:15px; }
 .market-region h3,.market-region h3 > span { font-size:11px; }
 .market-region li { font-size:12px; }
 .journey-heading h2 { font-size:9vw; }
 .journey-step-meta { font-size:11px; }
 .journey-step h3 { font-size:27px; }
 .journey-step > p { font-size:15px; }
 .journey-topics { font-size:12px; }
 .faq-intro > p:last-of-type { font-size:15px; }
 .faq-intro .text-link { font-size:14px; }
 .faq-index { font-size:11px; }
 .faq-answer p { font-size:15px; }
 .contact-main { padding:31px 28px 39px; min-height:0; }
 .contact-main h2 { font-size:12.5vw; margin:12px 0 24px; }
 .contact-intro { font-size:15px; }
 .contact-intro br { display:none; }
 .contact-button { margin-top:27px; }
 .contact-address { margin-top:29px; }
 .contact-address > a { font-size:17px; }
 .contact-card { padding:28px; min-height:300px; }
 .contact-card-top { font-size:11px; }
 .contact-card h3 { font-size:33px; }
 .contact-card p { font-size:15px; }
 .contact-card-link { font-size:14px; }
}
@media(max-width:360px) {
 .hero-badge { font-size:11px; }
 .landing-intro h1 { font-size:9.3vw; }
 .landing-lead { font-size:15px; }
 .number-card { padding:18px; }
 .studio-numbers dt { font-size:56px; }
 .number-native dt { font-size:76px; }
 .contact-main { padding-inline:24px; }
 .contact-address { gap:10px; }
 .contact-address > a { font-size:15px; }
 .copy-email { width:44px; height:44px; }
 .contact-main .action-button { min-width:0; width:100%; padding-left:18px; gap:10px; }
 .contact-card { padding-inline:24px; }
 .contact-card h3 { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) {
 .action-button,.action-orb .icon { transition:none; }
 .action-button::before { display:none; }
}

/* Light lives inside the panels; their contents remain still and readable. */
.light-responsive { --light-x:50%; --light-y:40%; }
.number-card::after,.contact-card::after,.contact-main::after { content:''; position:absolute; z-index:0; inset:0; border-radius:inherit; pointer-events:none; opacity:0; background:radial-gradient(400px circle at var(--light-x) var(--light-y),#ffc68b14,transparent 64%); transition:opacity .4s; }
.number-card > *,.contact-main > *,.contact-card > * { position:relative; z-index:1; }
.light-responsive:hover::after,.light-responsive:focus-within::after { opacity:1; }
.number-card { transition:border-color .35s,box-shadow .35s; }
.number-card:hover { border-color:#eeb88a59; box-shadow:inset 0 1px 0 #fff1,0 10px 30px #0002; }
.number-native::before { content:''; position:absolute; z-index:0; inset:-25%; pointer-events:none; background:radial-gradient(ellipse at 10% 35%,#ff6e2b30,transparent 50%),repeating-linear-gradient(96deg,transparent 0 18px,#fdb48705 19px,transparent 20px 29px); transform:rotate(-10deg); -webkit-mask-image:linear-gradient(90deg,#000,transparent 85%); mask-image:linear-gradient(90deg,#000,transparent 85%); }
.contact-main { position:relative; isolation:isolate; overflow:clip; background:#18120e; }
.contact-main::before { content:''; position:absolute; z-index:0; inset:-25%; pointer-events:none; background:radial-gradient(ellipse at 65% 100%,#ff6321a8,transparent 57%),radial-gradient(ellipse at 90% 4%,#ffb55b1f,transparent 50%),repeating-linear-gradient(98deg,transparent 0 22px,#ffb48709 23px,transparent 24px 36px); -webkit-mask-image:linear-gradient(#0005,#000); mask-image:linear-gradient(#0005,#000); }
.contact-ideas { background:radial-gradient(ellipse at 100% 100%,#aa4d2328,transparent 70%),#ffffff03; }
.contact-ideas::before { content:''; position:absolute; z-index:0; width:190px; height:190px; right:-70px; bottom:-60px; border:1px solid #e8b18b20; border-radius:50%; box-shadow:0 0 0 23px #e8b18b08,0 0 0 46px #e8b18b05,0 0 0 69px #e8b18b03; pointer-events:none; transition:transform .8s; }
.contact-ideas:hover::before { transform:scale(1.15); }
@media(prefers-reduced-motion:no-preference) {
 .contact-main::before,.number-native::before { animation:panel-light-drift 14s ease-in-out infinite alternate; animation-play-state:paused; }
 .contact-main.light-visible::before,.number-native.light-visible::before { animation-play-state:running; }
 @keyframes panel-light-drift { from { transform:translate(-2%,-1%) rotate(-4deg); } to { transform:translate(3%,2%) rotate(3deg); } }
}
@media(prefers-reduced-motion:reduce) {
 .light-responsive::after { display:none; }
 .contact-ideas::before { transition:none; }
}

/* Revision 10: connected linework and warmer negative space. */
.home-page { --home-bg:#10100f; --home-accent:var(--brand-orange); }
.home-page main { background:var(--home-bg); }
.hero-art { background:none; -webkit-mask-image:linear-gradient(#000 0 73%,transparent 100%); mask-image:linear-gradient(#000 0 73%,transparent 100%); }
.landing-hero { background:radial-gradient(ellipse at 50% 10%,#35312b42,transparent 68%); }
.badge-portraits img { width:32px; height:32px; margin-left:-9px; border:2px solid #362d26; }
.badge-portraits { padding-left:9px; }
.hero-badge { padding:6px 16px 6px 8px; }
.action-orb { transition:background .3s,border-color .3s,box-shadow .3s; }
.action-button:hover .action-orb,.action-button:focus-visible .action-orb { background:#382016; border-color:#d18a62; box-shadow:inset 0 1px 2px #ffffff35,0 0 12px #ffd0a43a; }
.action-button .action-orb .icon { transform:none; }
.approach-section { background:radial-gradient(ellipse at 10% 53%,#6a48262a,transparent 68%); }
.markets-section { background:radial-gradient(ellipse at 60% 55%,#77736612,transparent 68%); }
.journey-section { background:radial-gradient(ellipse at 0% 50%,#80715f12,transparent 65%); }
.faq-section { border-top-color:#ead0b91b; }
.contact-main { background:#241b14; }
.home-page .site-footer { background:#141310; }

.numbers-section { margin-top:18px; }
@media(max-width:640px) {
 .hero-badge { gap:10px; }
 .badge-portraits img { width:30px; height:30px; }
}

/* The two trajectories sit directly on the section background. */
.product-progress {
  display: grid;
  grid-template-columns: minmax(185px, .74fr) minmax(0, 2fr);
  align-items: center;
  gap: clamp(28px, 4.6vw, 68px);
  margin-block: clamp(38px, 4.8vw, 65px) 38px;
}
.progress-caption h3 {
  margin: 0 0 16px;
  font-size: clamp(27px, 3vw, 41px);
  font-weight: 450;
  letter-spacing: -.055em;
  line-height: 1.08;
}
.progress-caption h3 span { color: #ffb384; }
.progress-copy { max-width: 235px; color: #cbb9a9; font-size: 15px; line-height: 1.7; }
.progress-chart { --series-label-width: clamp(108px, 9vw, 135px); min-width: 0; }
.progress-axis-title { margin: 0 2% 7px; color: #c0ad9e; font-size: 12px; line-height: 1.5; }
.progress-series { display: grid; grid-template-columns: minmax(0, 1fr) var(--series-label-width); gap: 10px; }
.progress-series-labels { position: relative; }
.progress-series-labels > span {
  position: absolute;
  left: 0;
  transform: translateY(-50%);
  font-size: 14px;
  line-height: 1.5;
  white-space: nowrap;
}
.progress-label-relanno { top: 9.78%; color: #ffb384; font-weight: 600; }
.progress-label-other { top: 69.57%; color: #bbaa9a; }
.progress-plot { display: block; width: 100%; height: auto; }
.progress-grid { stroke: #d9baa0; stroke-opacity: .09; stroke-width: 1; vector-effect: non-scaling-stroke; }
.progress-relanno-line, .progress-other-line { stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.progress-relanno-line { stroke-width: 2.6; }
.progress-other-line { stroke: #bbaa9a; stroke-width: 1.4; stroke-opacity: .75; stroke-dasharray: 3 5; }
.progress-points { fill: #ffc49b; stroke: #51301f; stroke-width: 1.5; }
.progress-end-halo { fill: #ffb384; fill-opacity: .1; stroke: #ffb384; stroke-opacity: .2; stroke-width: .8; }
.progress-end-pulse { opacity: 0; stroke: #ffb384; stroke-width: 1.1; }
@media (prefers-reduced-motion: no-preference) {
  .product-progress.is-visible .progress-end-pulse {
    transform-box: fill-box;
    transform-origin: center;
    animation: progress-end-pulse 3.4s ease-out .6s infinite;
  }
  @keyframes progress-end-pulse {
    0% { opacity: 0; transform: scale(.75); }
    12% { opacity: .54; }
    60%, 100% { opacity: 0; transform: scale(1.55); }
  }
}
.progress-other-end { fill: #bbaa9a; fill-opacity: .85; }
.progress-stages {
  position: relative;
  width: calc(100% - var(--series-label-width) - 10px);
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
  color: #cbb9a9;
  font-size: 12px;
  line-height: 18px;
  list-style: none;
}
.progress-stages li { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.progress-stages li:first-child { left: 2.06%; transform: none; }
.progress-stages li:nth-child(2) { left: 33.97%; }
.progress-stages li:nth-child(3) { left: 65.88%; }
.progress-stages li:last-child { right: 2.06%; transform: none; }
@media (max-width: 900px) {
  .product-progress { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .progress-caption { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: end; gap: 9px 20px; }
  .progress-caption h3 { margin: 0; font-size: clamp(26px, 4vw, 34px); }
  .progress-caption h3 br { display: none; }
  .progress-copy { max-width: 235px; justify-self: end; font-size: 14px; }
}
@media(max-width:640px) {
 .landing-hero { min-height:max(700px,100svh); padding-top:clamp(150px,20svh,174px); }
 .landing-baseline { bottom:26px; }
 .journey-topics span { min-height:30px; display:inline-flex; align-items:center; }
}

/* Studio: a typographic spread in the brand's orange and warm graphite. */
.studio-section { padding:90px 0 100px; scroll-margin-top:-15px; background:radial-gradient(ellipse at 35% 55%,#6b3c2420,transparent 68%); }
.studio-topline { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:28px; }
.studio-topline > span { font-size:14px; color:#bdb1a6; }
.studio-spread { display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:20px; align-items:stretch; }
.studio-poster { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; padding:38px 40px 30px; min-height:560px; border:1px solid #ffad87; border-radius:24px; background:linear-gradient(145deg,#ff956b 0%,#ff7749 48%,#ed693e 100%); color:#301a12; box-shadow:inset 0 1px 0 #ffe1cd70; }
.studio-poster::before { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 3px,#57200d08 3px 4px); opacity:.4; }
.studio-poster-note { font-size:14px; line-height:1.6; color:#382016; }
.studio-poster h2 { font-family:var(--display); font-size:clamp(48px,4.8vw,69px); font-weight:500; letter-spacing:-.065em; line-height:1.06; margin:47px 0 25px; }
.studio-poster h2 > span { display:block; }
.studio-poster-copy { max-width:385px; font-size:17px; line-height:1.75; color:#382016; }
.studio-keep { white-space:nowrap; }
.studio-print { position:absolute; z-index:-1; right:30px; bottom:104px; width:180px; height:120px; color:#5b2c1b; opacity:.19; }
.studio-poster-signature { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:23px; margin-top:auto; border-top:1px solid #602b202b; }
.studio-poster-signature > span:first-child { display:inline-flex; align-items:center; font-family:'Space Grotesk',sans-serif; font-size:27px; font-weight:700; letter-spacing:-.06em; }
.studio-signature-apps { font-family:'DM Sans',sans-serif; font-size:8px; font-weight:600; letter-spacing:.13em; margin-left:8px; }
.studio-poster-signature > span:last-child { font-size:12px; color:#382016; line-height:1.5; }
.studio-principles { display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); padding:0; margin:0; list-style:none; border-color:#ddc3ab31; border-radius:24px; background:linear-gradient(125deg,#332c2280,#1c1b18a6); }
.studio-principles > li { position:relative; display:flex; flex-direction:column; justify-content:center; padding:26px 35px; }
.studio-principles > li + li::before { content:''; position:absolute; top:0; left:35px; right:35px; height:1px; background:linear-gradient(90deg,#dbb69735,#dbb69713); }
.studio-principle-meta { display:flex; align-items:center; gap:13px; color:#e5b490; font-size:11px; font-weight:500; line-height:1.6; letter-spacing:.09em; text-transform:uppercase; }
.studio-principle-meta > span { color:#b19d8a; font-size:11px; font-variant-numeric:tabular-nums; }
.studio-principles h3 { font-size:clamp(24px,2.5vw,34px); font-weight:450; letter-spacing:-.045em; line-height:1.15; margin:11px 0 12px; color:#f2e9df; }
.studio-principle-copy { max-width:460px; font-size:15px; line-height:1.75; color:#c2b6aa; }
@media(max-width:1100px) {
 .studio-spread { gap:16px; }
 .studio-poster { padding:30px; min-height:560px; }
 .studio-poster h2 { font-size:4.8vw; margin-top:43px; }
 .studio-poster-copy { font-size:16px; }
 .studio-poster-signature { gap:14px; align-items:flex-start; }
 .studio-poster-signature > span:last-child { max-width:115px; }
 .studio-principles > li { padding:24px 27px; }
 .studio-principles > li + li::before { left:27px; right:27px; }
 .studio-principles h3 { font-size:27px; }
 .studio-principle-copy { font-size:14px; }
}
@media(max-width:850px) {
 .studio-section { padding-block:75px; }
 .studio-poster { padding:28px; }
 .studio-poster h2 { font-size:4.8vw; }
 .studio-poster-copy { font-size:15px; }
 .studio-poster-signature { flex-direction:column; gap:6px; }
 .studio-poster-signature > span:last-child { max-width:none; }
 .studio-principles > li { padding:22px 23px; }
 .studio-principles > li + li::before { left:23px; right:23px; }
 .studio-principles h3 { font-size:25px; }
 .studio-principle-copy { font-size:14px; }
}
@media(max-width:640px) {
 .studio-section { padding-block:64px; }
 .studio-topline { align-items:flex-start; gap:20px; margin-bottom:23px; }
 .studio-topline > span { max-width:150px; font-size:12px; line-height:1.65; text-align:right; }
 .studio-spread { grid-template-columns:minmax(0,1fr); gap:14px; }
 .studio-poster { padding:27px 25px 23px; min-height:385px; border-radius:21px; }
 .studio-poster-note { font-size:13px; }
 .studio-poster h2 { font-size:clamp(36px,9.65vw,61px); margin:28px 0 20px; }
 .studio-poster-copy { max-width:360px; font-size:15px; line-height:1.75; }
 .studio-print { width:120px; height:80px; right:25px; bottom:77px; opacity:.13; }
 .studio-poster-signature { flex-direction:row; align-items:center; padding-top:18px; gap:12px; }
 .studio-poster-signature > span:first-child { font-size:24px; }
 .studio-poster-signature > span:last-child { max-width:124px; font-size:11px; text-align:right; }
 .studio-principles { border-radius:21px; grid-template-rows:auto; }
 .studio-principles > li { padding:26px 25px; }
 .studio-principles > li + li::before { left:25px; right:25px; }
 .studio-principle-meta { font-size:11px; }
 .studio-principles h3 { font-size:27px; margin-block:12px; }
 .studio-principle-copy { max-width:100%; font-size:15px; line-height:1.75; }
}
@media(max-width:360px) {
 .studio-poster { padding:24px 21px 21px; min-height:390px; }
 .studio-poster h2 { font-size:8.9vw; }
 .studio-principles > li { padding:24px 21px; }
 .studio-principles > li + li::before { left:21px; right:21px; }
 .studio-principles h3 { font-size:25px; }
}

/* Phone edition: less repetition, three continuous rows of target markets. */
.market-ticker { display:none; }
@media(max-width:640px) {
 .landing-baseline,.product-progress,.market-directory { display:none; }
 .market-ticker { position:relative; display:grid; gap:10px; margin:29px calc(-1 * var(--gutter)) 0; padding-block:8px; }
 .market-ticker-row { overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
 .market-ticker-track { display:flex; width:max-content; gap:12px; animation:market-ticker-drift 54s linear infinite; animation-play-state:paused; }
 .market-ticker-row:nth-child(2) .market-ticker-track { animation-duration:61s; animation-direction:reverse; }
 .market-ticker-row:nth-child(3) .market-ticker-track { animation-duration:57s; }
 .market-ticker-list { display:flex; align-items:center; justify-content:space-between; flex:none; gap:12px; width:max-content; min-width:max(600px,100vw); padding:0; margin:0; list-style:none; }
 .market-ticker-list li { display:flex; align-items:center; gap:9px; flex:none; padding:11px 15px; border:1px solid #e4b48e29; border-radius:99px; background:#2b251e91; color:#e7d8c9; font-size:14px; line-height:1.45; white-space:nowrap; }
 .market-ticker-list img { flex:none; width:24px; height:18px; object-fit:cover; border-radius:3px; }
 .market-ticker.ticker-ready.light-visible:not(.is-paused) .market-ticker-track { animation-play-state:running; }
 .market-ticker:active .market-ticker-track { animation-play-state:paused!important; }
 .market-ticker:not(.ticker-ready) .market-ticker-row { overflow-x:auto; }
 .ticker-motion-toggle:focus-visible { position:absolute; z-index:3; right:20px; bottom:0; width:auto; height:auto; padding:9px 12px; clip: auto; white-space:normal; border:1px solid #ffb28d; border-radius:9px; background:#28221c; color:#ffdfc7; }
 @keyframes market-ticker-drift { to { transform:translateX(calc(-50% - 6px)); } }
}
@media(hover:hover) { .market-ticker:hover .market-ticker-track { animation-play-state:paused!important; } }
@media(max-width:640px) and (prefers-reduced-motion:reduce) {
 .market-ticker { margin-inline:0; }
 .market-ticker-row { overflow:visible; -webkit-mask-image:none; mask-image:none; }
 .market-ticker-track { display:block; width:100%; animation:none; transform:none; }
 .market-ticker-list { width:100%; min-width:0; justify-content:flex-start; flex-wrap:wrap; gap:8px; }
 .market-ticker-list li { padding:9px 12px; font-size:13px; }
 .ticker-copy,.ticker-motion-toggle { display:none; }
}
