:root{--ink:#191b18;--paper:#f6f4ef;--gold:#bb9962;--line:#d9d5ca;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-70px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.header{height:96px;position:absolute;top:0;width:100%;padding:0 5%;display:flex;align-items:center;justify-content:space-between;color:#fff;z-index:5;border-bottom:1px solid #ffffff25}.brand{font-family:Georgia,serif;font-size:36px;letter-spacing:.22em;line-height:1.1}.brand span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.29em;margin-top:10px;text-align:center;padding-right:8px}.header nav{display:flex;align-items:center;gap:36px;font-size:14px}.header nav a:not(.nav-cta){transition:color .2s}.header nav a:hover{color:#dbbd87}.nav-cta{border:1px solid #b99b69;padding:12px 22px}.nav-cta span{padding-left:20px}.menu{display:none}.hero{min-height:760px;height:95svh;max-height:1050px;position:relative;isolation:isolate;background:#24221d;color:white}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-image{object-position:65% center}.hero-shade{z-index:-1;background:linear-gradient(90deg,#121511e8 0%,#121511ad 30%,#12151110 74%),linear-gradient(0deg,#0e100fd9,transparent 24%)}.hero-copy{padding:clamp(175px,19vh,260px) 7% 120px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--gold);margin:0 0 28px}.hero .eyebrow{color:#e3ca9b}.hero h1{font-family:var(--serif);font-size:clamp(42px,5.3vw,80px);font-weight:400;letter-spacing:.07em;line-height:1.6;margin:0 0 28px}.hero-text{font-size:16px;line-height:2.2;letter-spacing:.08em;color:#eeeae1;margin-bottom:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:17px 26px;font-size:14px;letter-spacing:.06em;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.gold{background:#c4a66f;color:#161916}.gold:hover{background:#debf88}.hero-bottom{position:absolute;bottom:32px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:center}.hero-bottom>span{font-family:Georgia,serif;font-style:italic;font-size:21px;letter-spacing:.03em}.hero-bottom a{font-size:10px;letter-spacing:.16em}.hero-bottom i{font-size:22px;padding-left:20px;font-style:normal}.news-bar{display:flex;gap:35px;padding:22px 7%;align-items:center;border-bottom:1px solid var(--line);font-size:14px}.news-bar>span{font-size:11px;letter-spacing:.14em;color:#917345;white-space:nowrap}.news-bar a{flex:1}.news-bar b{float:right}.section{padding:95px 7% 105px;scroll-margin-top:20px}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.16em;color:#777c70;margin-bottom:65px}.section-label>span:last-child{color:#998569}h2{font-family:var(--serif);font-size:clamp(30px,3.2vw,49px);font-weight:400;line-height:1.7;letter-spacing:.035em;margin:0}h3{font-family:var(--serif);font-weight:500}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7%}.accent{color:#947644}.about-copy p{margin:0 0 26px;line-height:2.2}.signature{font-family:Georgia,serif;font-style:italic;color:#a6874f;font-size:32px;margin-top:32px}.genres{border-top:1px solid var(--line);margin-top:65px;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px}.genres>div{display:flex;gap:30px;font-size:12px;letter-spacing:.16em}.support{background:#191c18;color:#f4f1e8}.support .section-label{color:#acafa3}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px}.section-heading p{color:#b9bcb3;font-size:15px}.support-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b}.support-grid article{padding:33px 24px;border-right:1px solid #ffffff2b}.support-grid article:first-child{padding-left:0}.support-grid article:last-child{border-right:0}.number{font-family:Georgia,serif;font-size:35px;color:#bda575;font-style:italic}.support-grid h3{font-size:22px;margin:30px 0 17px}.support-grid p{font-size:15px;color:#bfc1b9;line-height:2}.en{font-size:10px;letter-spacing:.17em;color:#958e7d;display:block;margin-top:34px}.network{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.network .eyebrow{margin-bottom:18px}.network h3{font-size:30px;margin:0;line-height:1.7}.network>div>p{color:#c6c8c0}.network-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.network-tags span{border:1px solid #ffffff28;padding:6px 13px;font-size:13px}.founder{background:#eeece5}.founder-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:8%}.founder-intro h2{font:76px Georgia,serif;letter-spacing:-.035em}.founder-intro h2>span{display:block;font-family:var(--sans);font-size:14px;letter-spacing:.1em;margin-top:18px}.founder-intro p:not(.eyebrow){font-size:14px;margin-top:32px;line-height:2.2}.stat{display:flex;gap:22px;align-items:center;border-top:1px solid #cec6b6;margin-top:33px;padding-top:18px}.stat strong{font:90px Georgia,serif;color:#957440}.stat>div{font-size:16px}.stat>div>span{font-size:13px;display:block;color:#727467}.achievements h3{font-size:23px;margin:0 0 24px}.achievements>div{display:grid;grid-template-columns:80px 1fr 96px;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid #ccc8bc;font-size:14px}.achievements time{font-size:12px;color:#797c70}.sub{display:block;font-size:12px;color:#777}.achievements strong{font-weight:400;font-size:12px;text-align:right;white-space:nowrap;color:#8e6b31}.achievements b{font:30px Georgia,serif}.challenge{background:#171917;color:#f5f1e7}.challenge-head{display:flex;justify-content:space-between;gap:30px;align-items:center}.challenge-head .eyebrow{margin-bottom:20px}.challenge h2 em{font-style:normal;color:#d3b882}.goal{border-left:1px solid #655942;padding:20px 0 20px 50px}.goal>span{display:block;font-size:13px;color:#b9b3a6}.goal strong{font:112px Georgia,serif;color:#d5b676;white-space:nowrap}.goal strong>span{font:16px var(--serif);color:#f5f1e7;display:block;text-align:right}.challenge-lead{max-width:880px;color:#c5c6bd;font-size:15px;line-height:2.2;margin:42px 0 50px}.challenge-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:6%;border-top:1px solid #ffffff30;padding-top:35px}.requirements h3{font-size:22px}.requirements dl{margin:24px 0}.requirements dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff20;padding:15px 0;font-size:14px}.requirements dt{color:#a6aa9f}.requirements dd{margin:0}.requirements dd strong{font:32px Georgia,serif;color:#d6bc89}.application-status{font-size:13px;color:#b8b4a7;margin-top:25px}.awards{display:grid;grid-template-columns:1fr 1fr;gap:25px}.awards article{background:#22251f;padding:23px}.awards h3{font-size:23px;margin:10px 0}.awards p{font-size:13px;color:#c1c3b9;line-height:2}.awards article>p:first-child{font-size:10px;letter-spacing:.06em;color:#b9a57e}.prize{font-size:16px;color:#d7bc84}.prize strong{font:70px Georgia,serif;padding:0 7px}.awards small{font-size:12px;color:#a9ad9f;line-height:1.8;display:block}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.faq-grid>div>p{font-size:14px;line-height:2.1;color:#73776c;margin-top:26px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:15px;padding:25px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary>span{color:#8d7040;font-size:22px;font-weight:300}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:14px;color:#60665c;padding:0 25px 25px 0;margin:0;line-height:2}.closing{background:#242821;color:#f4f1e8;text-align:center;padding:90px 24px 100px;border-bottom:1px solid #ffffff20}.closing .eyebrow{margin-bottom:20px}.closing h2{font-size:clamp(29px,4vw,54px)}.closing>p:not(.eyebrow){color:#c0c2b8;font-size:14px}.outline{border:1px solid #a78c59;margin-top:28px;color:#e7d5b1}footer{padding:45px 7%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px;background:#191c18;color:#eae7dc}footer .brand{font-size:30px}footer p{font:italic 19px Georgia,serif;color:#b69b6a}footer>a:not(.brand){font-size:13px}footer small{font-size:12px;color:#8b9081}.mobile{display:none}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:1000px){.header nav{gap:20px;font-size:12px}.support-grid{grid-template-columns:1fr 1fr}.support-grid article:nth-child(2){border-right:0}.support-grid article:nth-child(-n+2){border-bottom:1px solid #ffffff2b}.support-grid article:nth-child(3){padding-left:0}.founder-grid{gap:5%;grid-template-columns:1fr 1.35fr}.achievements>div{grid-template-columns:64px 1fr 78px;gap:8px}.challenge-grid{grid-template-columns:1fr}.awards{margin-top:30px}.goal strong{font-size:90px}.genres{align-items:start;flex-direction:column}}@media(max-width:700px){.header{height:80px;padding:0 6%}.brand{font-size:29px}.brand span{font-size:8px}.menu{display:flex;flex-direction:column;gap:7px;background:none;border:0;padding:12px;color:white}.menu span{height:1px;width:25px;background:currentColor}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#191c18;padding:25px 6%;flex-direction:column;align-items:stretch;font-size:15px}.header nav.open{display:flex}.hero{height:89svh;min-height:690px;max-height:900px}.hero-image{object-position:66% center}.hero-shade{background:linear-gradient(90deg,#11140fbe,#11140f30),linear-gradient(0deg,#11140fed 0%,#11140f55 45%,transparent 85%)}.hero-copy{padding:225px 7% 110px}.hero .eyebrow{font-size:10px;margin-bottom:20px}.hero h1{font-size:42px;line-height:1.65;letter-spacing:.04em}.hero-text{font-size:14px}.hero-bottom{left:7%;right:7%;bottom:25px}.hero-bottom>span{font-size:15px}.hero-bottom a{font-size:8px}.hero-bottom i{padding-left:8px}.news-bar{gap:9px;align-items:start;flex-direction:column;padding:20px 7%}.news-bar a{font-size:12px;width:100%}.section{padding:65px 7%}.section-label{margin-bottom:40px;font-size:10px}.section-label>span:last-child{display:none}.about-grid,.founder-grid,.faq-grid,.network{grid-template-columns:1fr;gap:35px}.about-copy p{font-size:15px}.signature{font-size:28px}.genres{margin-top:35px}.genres>span{font-size:12px}.genres>div{gap:18px;font-size:10px}.section-heading{display:block}.section-heading p{font-size:14px;margin-top:22px}.support-grid{margin-top:30px}.support-grid article{padding:24px 16px}.support-grid h3{font-size:18px;margin-top:18px}.support-grid p{font-size:14px}.en{font-size:9px;letter-spacing:.05em}.network{margin-top:45px;gap:15px}.network h3{font-size:27px}.network>div>p{font-size:14px}.founder-intro h2{font-size:65px}.stat{max-width:330px}.achievements h3{font-size:20px}.achievements>div{font-size:13px;grid-template-columns:57px 1fr 77px;padding:18px 0}.achievements time{font-size:10px}.challenge-head{align-items:start;flex-direction:column;gap:30px}.challenge h2{font-size:31px}.goal{padding:0 0 0 23px}.goal strong{font-size:78px;display:flex;align-items:baseline;gap:16px}.goal strong>span{font-size:16px}.challenge-lead{font-size:14px;margin-top:30px}.requirements h3{font-size:21px}.awards{grid-template-columns:1fr;gap:16px}.awards article{padding:25px}.awards h3{font-size:26px}.awards p{font-size:14px}.awards article>p:first-child{font-size:12px}.prize strong{font-size:60px}.faq-grid{gap:25px}summary{font-size:14px}.closing{padding:65px 7%}.closing h2{font-size:28px}footer{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:35px 7%}footer p{font-size:15px}footer small{text-align:right}.desktop{display:none}.mobile{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.future{background:#edeae2}.future-heading{text-align:center}.future-heading h2{font-size:clamp(36px,4.4vw,65px)}.future-heading>p:last-child{margin:20px 0 0;font-size:16px;color:#696d60}.future-fields{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cdc5b4;margin-top:65px}.future-fields>div{padding:35px 20px;border-right:1px solid #cdc5b4;text-align:center}.future-fields>div:last-child{border:0}.future-fields>div>span{font:italic 32px Georgia,serif;color:#a78a58}.future-fields h3{font-size:23px;margin:18px 0 12px}.future-fields p{font-size:10px;letter-spacing:.08em;color:#797967}.text-link{display:inline-flex;justify-content:space-between;gap:45px;border-bottom:1px solid #bca678;padding:10px 0;font-size:14px;margin-top:15px}@media(max-width:700px){.future-fields{grid-template-columns:1fr 1fr;margin-top:35px}.future-fields>div{padding:24px 10px}.future-fields>div:nth-child(2){border-right:0}.future-fields>div:nth-child(-n+2){border-bottom:1px solid #cdc5b4}.future-fields h3{font-size:19px}.future-fields p{font-size:9px}.future-heading>p:last-child{font-size:14px}}

/* Let content reflow at narrow widths and when text is enlarged. */
.header nav { gap: clamp(16px, 2.3vw, 36px); }
.contact { scroll-margin-top: 20px; }
.contact > .contact-lead { color: #f4f1e8; font-size: 18px; margin: 26px 0 18px; }
.contact > .contact-copy { max-width: 38rem; margin: 0 auto; line-height: 2; }
.contact-actions { display: flex; flex-direction: column; align-items: center; margin-top: 32px; }
.contact-actions .button { width: 100%; max-width: 23rem; }
.contact-note { font-size: 12px; line-height: 1.9; color: #b9bcb3; margin: 14px 0 0; }
.contact-note span { white-space: nowrap; }
.contact-actions .text-link { color: #e7d5b1; font-size: 13px; margin-top: 28px; }
@media (min-width: 701px) and (max-width: 900px) {
  .menu { display: flex; flex-direction: column; gap: 7px; background: none; border: 0; padding: 12px; color: white; }
  .menu span { height: 1px; width: 25px; background: currentColor; }
  .header nav { display: none; position: absolute; top: 96px; left: 0; right: 0; background: #191c18; padding: 25px 5%; flex-direction: column; align-items: stretch; font-size: 15px; }
  .header nav.open { display: flex; }
}
@media (max-width: 700px) {
  .contact h2 { font-size: clamp(1.5rem, 6.7vw, 1.875rem); }
  .contact > .contact-lead { font-size: 17px; }
  .contact > .contact-copy { font-size: 15px; text-align: left; }
}
body { overflow-wrap: break-word; }
.hero-text > span { display: inline-block; max-width: 100%; }
img { max-width: 100%; }
.header > *, .header nav > *, .hero-copy, .hero-bottom > *,
.section-label > *, .about-grid > *, .genres > *, .genres > div > *,
.section-heading > *, .support-grid > *, .network > *,
.future-fields > *, .faq-grid > *, footer > * { min-width: 0; }
.section-label, .genres > div, .hero-bottom { flex-wrap: wrap; }
.button, .text-link {
  max-width: 100%;
  min-width: 0;
  gap: clamp(12px, 3vw, 50px);
  white-space: normal;
}
.button > span, .text-link > span, summary > span { flex-shrink: 0; }
summary > span { line-height: 1; }
.hero {
  height: auto;
  min-height: max(760px, 95svh);
  max-height: none;
  display: flex;
  flex-direction: column;
}
.hero-bottom {
  position: relative;
  inset: auto;
  margin: auto 7% 32px;
  gap: 12px 24px;
}
.support-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.future-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.future-fields p, .en { overflow-wrap: anywhere; }

@media (max-width: 1000px) {
  .support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .hero { min-height: max(690px, 89svh); background: #11140f; }
  .hero-image {
    height: clamp(420px, 65svh, 520px);
    object-position: 84% top;
    -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
  }
  .hero-shade {
    background: linear-gradient(90deg, #11140f66, #11140f00 85%),
      linear-gradient(180deg, #11140f22, #11140f00 30%, #11140f77 60%, #11140f 85%);
  }
  .hero-copy { padding: clamp(250px, 36svh, 305px) 7% 52px; }
  .hero h1 { font-size: clamp(2rem, 9.7vw, 2.625rem); }
  .hero-bottom { margin-bottom: 25px; gap: 10px 20px; }
  .hero-bottom > span { font-size: 16px; }
  .hero-bottom a { font-size: 10px; }
  .hero-text, .about-copy p, .section-heading p, .support-grid p,
  .network > div > p, .future-heading > p:last-child,
  .faq-grid > div > p, details > p { font-size: 16px; }
  .future-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .future-fields p { font-size: 11px; }
  summary { font-size: 16px; }
  footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
  .about h2 { font-size: clamp(1.5rem, 6.7vw, 1.875rem); }
  .support-grid { grid-template-columns: minmax(0, 1fr); }
  .support-grid article {
    padding: 26px 0;
    border-right: 0;
    border-bottom: 1px solid #ffffff2b;
  }
  .support-grid article:last-child { border-bottom: 0; }
  .support-grid h3 { font-size: 22px; margin: 12px 0; }
  .support-grid p { margin: 0; }
  .en { font-size: 11px; margin-top: 20px; }
  .future-fields h3 { font-size: clamp(1rem, 4.5vw, 1.1875rem); }
  .genres > div { gap: 12px 20px; }
  .button { width: 100%; max-width: 25rem; padding: 17px 20px; text-align: left; }
  .hero-bottom { align-items: flex-start; flex-direction: column; }
  footer { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  footer small { text-align: left; }
}

/* Contact form */
.contact-form { max-width: 740px; margin: 42px auto 0; text-align: left; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.form-field { min-width: 0; margin-bottom: 26px; }
.form-field label { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; font-size: 15px; }
.form-field label > span { color: #dbc59d; font-size: 12px; border: 1px solid #a38b6066; padding: 0 7px; }
.form-field input, .form-field select, .form-field textarea { display: block; width: 100%; max-width: 100%; min-width: 0; border: 1px solid #8e93815e; border-radius: 0; color: #f4f1e8; background: #1b1f19; font: inherit; font-size: 16px; line-height: 1.7; padding: 14px 16px; transition: border-color .2s; }
.form-field input::placeholder, .form-field textarea::placeholder { color: #9ca392; opacity: 1; }
.form-field textarea { resize: vertical; min-height: 180px; }
.form-field select { color-scheme: dark; }
.form-field input:focus-visible, .form-field textarea:focus-visible, .form-field select:focus-visible { outline: 2px solid #d6b980; outline-offset: 3px; border-color: #d6b980; }
.form-field small { display: block; color: #b9bcb3; font-size: 12px; margin-top: 7px; }
.form-trap { display: none; }
.form-privacy { color: #c0c2b8; font-size: 13px; line-height: 1.9; margin: 4px 0 28px; }
.form-submit { text-align: center; }
.form-submit .button { width: 100%; max-width: 23rem; border: 0; cursor: pointer; }
.form-submit .button:disabled { opacity: .6; cursor: wait; transform: none; }
#contact-status { min-height: 1.8em; font-size: 14px; color: #dbc59d; margin: 12px 0 0; }
.form-error { background: #b7543e1c; border-left: 2px solid #e1a58f; color: #ffcfbb; padding: 14px 16px; font-size: 14px; line-height: 1.9; margin-bottom: 24px; }
.contact-success { max-width: 740px; margin: 42px auto 0; padding: 42px 24px; border: 1px solid #a38b6066; }
.contact-success h3 { font-size: clamp(23px, 3vw, 32px); margin: 0 0 18px; }
.contact-success > p:not(.eyebrow) { font-size: 16px; color: #c0c2b8; }
.contact-success > .contact-reference { font-size: 12px; overflow-wrap: anywhere; }
.contact-alternative { max-width: 740px; border-top: 1px solid #ffffff20; margin: 28px auto 0; padding-top: 26px; }
.contact-alternative > p { font-size: 14px; color: #c0c2b8; margin: 0; }
.contact-alternative .text-link { color: #e7d5b1; margin-top: 6px; }
[hidden] { display: none !important; }
@media (max-width: 600px) {
  .contact-fields { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .contact-form { margin-top: 32px; }
  .contact-success { padding: 32px 18px; }
}

/* Give each part of the ALVIA story room to be read. */
.about-copy { max-width: 38rem; }
.about-copy .about-lead { font-family: var(--sans); font-size: 1.25rem; color: #3c4137; }
.about-copy p { font-size: 1rem; }
.genres { display: block; margin-top: 5rem; padding-top: 3.5rem; }
.genres h3 { font-size: clamp(1.8rem, 3.1vw, 3rem); line-height: 1.7; letter-spacing: .02em; margin: 0; }
.genres .genres-intro { font-size: 1rem; line-height: 2; color: #64695e; margin: 1.25rem 0 2.75rem; }
.genres .genre-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; letter-spacing: normal; }
.genre-grid article { min-width: 0; padding-top: 1.5rem; border-top: 1px solid #bda881; }
.genre-grid h4 { font: 400 clamp(1.8rem, 3.1vw, 3rem)/1.15 Georgia, serif; color: #8b6b38; margin: 0 0 1rem; letter-spacing: -.045em; }
.genre-grid .genre-label { font-size: .875rem; color: #7d7567; margin: 0 0 .8rem; }
.genre-grid article > p:last-child { font-size: 1rem; color: #454b40; line-height: 1.95; margin: 0; }
.section-heading > p { font-size: 1rem; max-width: 28rem; line-height: 2; }
.support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 3.5rem; }
.support-grid article { padding: 2.75rem; position: relative; }
.support-grid article:nth-child(odd) { padding-left: 0; border-right: 1px solid #ffffff2b; }
.support-grid article:nth-child(even) { padding-right: 0; border-right: 0; }
.support-grid article:nth-child(-n+2) { border-bottom: 1px solid #ffffff2b; }
.support-grid article > .en { display: inline-block; vertical-align: middle; margin: 0 0 0 1rem; font-size: .75rem; color: #b3a68c; }
.support-grid .number { vertical-align: middle; font-size: 2.5rem; }
.support-grid h3 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); margin: 1.25rem 0 1rem; }
.support-grid p { font-size: 1rem; line-height: 2; margin: 0; max-width: 33rem; }
.support-points { list-style: none; margin: 1.5rem 0 0; padding: 0; color: #eeece2; font-size: .9375rem; line-height: 1.85; }
.support-points li { position: relative; padding-left: 1.1rem; margin-top: .55rem; }
.support-points li::before { content: ""; position: absolute; width: .35rem; height: 1px; background: #c5a772; top: .85em; left: 0; }
.network { margin-top: 4.5rem; }
.network h3 { font-size: clamp(1.875rem, 2.7vw, 2.5rem); }
.network > div > p:not(.eyebrow) { font-size: 1rem; line-height: 2; }
.network-tags span { font-size: .875rem; }
.future-heading .future-lead { font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.625rem); color: #555b4e; margin: 1.5rem 0; line-height: 1.8; }
.future-heading > p.future-intro { max-width: 48rem; font-size: 1rem; line-height: 2.1; margin: 0 auto; color: #676b5e; }
.future-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; margin-top: 3.75rem; border-top: 0; }
.future-fields article { min-width: 0; border-top: 1px solid #c8bda7; padding: 2rem 0 2.5rem; }
.future-field-top { display: flex; gap: 1rem; align-items: center; }
.future-field-top > span { font: italic 2rem Georgia, serif; color: #947644; }
.future-fields .en { font-size: .75rem; color: #80735e; margin: 0; letter-spacing: .1em; }
.future-fields h3 { font-size: clamp(1.3rem, 2.3vw, 1.875rem); line-height: 1.65; margin: 1.5rem 0 .5rem; }
.future-fields .future-role { font-size: .875rem; color: #896c3c; letter-spacing: .06em; margin: 0 0 1.25rem; }
.future-fields article > p:last-child { font-size: 1rem; line-height: 2; letter-spacing: 0; color: #5e6456; margin: 0; max-width: 34rem; overflow-wrap: break-word; }
.career-path { position: relative; isolation: isolate; background: #1c201a; color: #f4f1e8; margin-top: 1.5rem; padding: clamp(2rem, 4vw, 4rem); display: grid; grid-template-columns: 1fr 1fr; gap: 0 3.5rem; }
.career-path .eyebrow { grid-column: 1 / -1; color: #ceb481; margin-bottom: 1.5rem; }
.career-path h3 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.7; letter-spacing: .05em; margin: 0; }
.career-path .career-lead { font-family: var(--serif); font-size: clamp(1.125rem, 1.7vw, 1.5rem); color: #d5bc8d; margin: 1.5rem 0 0; grid-column: 1; }
.career-copy { grid-column: 2; grid-row: 2 / 4; align-self: center; min-width: 0; }
.career-copy > p { font-size: 1rem; color: #ced0c5; line-height: 2; margin: 0 0 1.25rem; }
.career-copy > p:last-child { margin-bottom: 0; }
.career-copy .career-note { border-top: 1px solid #ffffff24; padding-top: 1.25rem; margin-top: 1.5rem; font-size: .875rem; color: #aeb4a3; }
.faq-grid > div > p, details > p { font-size: 1rem; line-height: 2; }
.faq-list summary { font-size: 1rem; line-height: 1.8; }
.contact > .contact-copy { font-size: 1rem; max-width: 43rem; }

@media (max-width: 1000px) {
  .genres .genre-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
  .genre-grid h4 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
  .career-path { gap: 0 2rem; }
}
@media (max-width: 700px) {
  .about-copy .about-lead { font-size: 1.0625rem; }
  .genres { margin-top: 3rem; padding-top: 2.25rem; }
  .genres h3 { font-size: clamp(1.65rem, 7.2vw, 2.25rem); }
  .genres .genres-intro { margin-bottom: 2rem; }
  .genres .genre-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.25rem; }
  .genre-grid h4 { font-size: clamp(1.65rem, 6.3vw, 2.5rem); }
  .genre-grid article > p:last-child { font-size: 1rem; line-height: 1.85; }
  .genre-grid article > p br { display: none; }
  .support-grid { grid-template-columns: minmax(0, 1fr); margin-top: 2.25rem; }
  .support-grid article:nth-child(n) { padding: 2rem 0; border-right: 0; border-bottom: 1px solid #ffffff2b; }
  .support-grid article:last-child { border-bottom: 0; }
  .support-grid article > .en { letter-spacing: .08em; margin-left: .8rem; }
  .support-grid h3 { font-size: 1.5rem; margin-top: 1rem; }
  .support-grid p { font-size: 1rem; }
  .support-points { font-size: .9375rem; }
  .network { margin-top: 3rem; }
  .future-heading .future-intro { text-align: left; }
  .future-fields { grid-template-columns: minmax(0, 1fr); margin-top: 2.75rem; gap: 0; }
  .future-fields article { padding: 1.75rem 0 2rem; }
  .future-fields h3 { font-size: clamp(1.2rem, 5.5vw, 1.625rem); margin-top: 1.1rem; }
  .future-fields article > p:last-child { font-size: 1rem; }
  .career-path { display: block; padding: 2rem 1.5rem; margin-top: 1rem; }
  .career-path h3 { font-size: clamp(1.8rem, 8vw, 2.875rem); }
  .career-path .career-lead { margin-top: 1rem; font-size: 1.1875rem; }
  .career-copy { margin-top: 2rem; }
  .faq-grid { gap: 2rem; }
}
@media (max-width: 360px) {
  .genres .genre-grid { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .genre-grid h4 { font-size: 2.5rem; }
  .career-path { padding: 1.75rem 1.25rem; }
}

/* Compact, always-available routes to the brochure and official LINE. */
.floating-actions {
  position: fixed;
  z-index: 20;
  right: max(24px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom));
  display: flex;
  gap: 8px;
}
.floating-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 148px;
  min-height: 76px;
  padding: 12px 18px;
  border: 1px solid #c5a772;
  border-radius: 4px;
  background: #191c18;
  color: #f4f1e8;
  box-shadow: 0 6px 24px #00000030;
  line-height: 1.5;
  transition: background .2s;
}
.floating-action:hover { background: #30372b; }
.floating-action-label { display: flex; align-items: center; gap: 7px; color: #d8c39c; font-size: 11px; letter-spacing: .08em; }
.floating-action-label i { width: 7px; height: 7px; border-radius: 50%; background: #06c755; }
.floating-action-text { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 16px; margin-top: 4px; }
.floating-action-text > span { color: #d8c39c; }
footer { padding-bottom: calc(116px + env(safe-area-inset-bottom)); }
@media (max-width: 700px) {
  .floating-actions { right: max(14px, env(safe-area-inset-right)); bottom: calc(14px + env(safe-area-inset-bottom)); }
  .floating-action { width: 124px; min-height: 66px; padding: 10px 14px; }
  .floating-action-text { font-size: 15px; margin-top: 2px; }
  footer { padding-bottom: calc(108px + env(safe-area-inset-bottom)); }
}
@media print { .floating-actions { display: none; } }

/* Clear navigation cues without adding large boxed buttons. */
.header nav a:not(.nav-cta) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  border-bottom: 1px solid #c5a77299;
}
.header nav .nav-cta { border: 1px solid #c5a772; color: #ecd7b1; }

/* Editorial photography gives each chapter a moment to breathe. */
.story-photo {
  margin: 0;
  overflow: hidden;
  background: #25281f;
  aspect-ratio: 2 / 1;
}
.story-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.genres .story-photo { margin: 0 0 2.75rem; }
.story-photo-creator img { object-position: 50% 42%; }
.support .story-photo { margin-top: 3rem; }
.story-photo-support img { object-position: 50% 42%; }
.future .story-photo { aspect-ratio: 21 / 9; margin-bottom: 3.5rem; }
.story-photo-future img { object-position: 50% 50%; }
@media (max-width: 700px) {
  .story-photo { aspect-ratio: 4 / 3; }
  .genres .story-photo { margin-bottom: 2rem; }
  .story-photo-creator img { object-position: 58% 50%; }
  .support .story-photo { margin-top: 2rem; }
  .future .story-photo { aspect-ratio: 3 / 2; margin-bottom: 2.5rem; }
}

/* Agency updates connect visitors to dedicated project pages. */
.news { padding-top: 3.5rem; padding-bottom: 3.5rem; border-bottom: 1px solid var(--line); }
.news-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem 1.5rem; margin-bottom: 1.75rem; }
.news-heading h2 { font: 400 clamp(2rem, 3vw, 2.75rem)/1.2 Georgia, serif; letter-spacing: .08em; }
.news-heading p { font-size: .8125rem; color: #727467; margin: 0; }
.news-card { display: block; padding: 2rem 2.5rem; border: 1px solid #d0c4ad; background: #eeece5; transition: border-color .2s, background .2s; }
.news-card:hover { border-color: #947644; background: #e8e4d9; }
.news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
.news-meta > span { font-size: .75rem; color: #715829; border-bottom: 1px solid #baa377; padding-bottom: .2rem; letter-spacing: .04em; }
.news-meta p { margin: 0; color: #656b5e; font-size: .8125rem; }
.news-card h3 { margin: 1rem 0 .75rem; font-size: clamp(1.25rem, 2.4vw, 1.875rem); line-height: 1.7; }
.news-description { font-size: .9375rem; line-height: 1.9; color: #555d4e; margin: 0; }
.news-link { display: inline-flex; align-items: center; gap: 2rem; border-bottom: 1px solid #ad925f; color: #72582d; font-size: .875rem; padding-bottom: .25rem; margin-top: 1.5rem; }
@media (max-width: 700px) {
  .news { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .news-card { padding: 1.5rem; }
  .news-meta { gap: .75rem; }
  .news-meta p { width: 100%; }
  .news-card h3 { font-size: 1.25rem; }
}

/* A quiet mobile header with navigation available on demand. */
@media (max-width: 900px) {
  .header {
    --header-height: 88px;
    height: var(--header-height);
    padding: 0 6%;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    z-index: 30;
    background: linear-gradient(180deg, #11140f66, #11140f1a);
  }
  .header .menu { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 48px; height: 48px; padding: 10px; background: transparent; border: 0; color: #f6f4ef; cursor: pointer; }
  .header .menu span { display: block; width: 27px; height: 1px; background: currentColor; transition: transform .2s; }
  .header .menu[aria-expanded="true"] span:first-child { transform: translateY(4.5px) rotate(45deg); }
  .header .menu[aria-expanded="true"] span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
  .header nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 18px 6% 24px;
    max-height: calc(100dvh - var(--header-height) - 20px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #191c18fa;
    border-bottom: 1px solid #c5a77255;
    box-shadow: 0 12px 24px #00000026;
    font-size: 15px;
    line-height: 1.6;
  }
  .header nav.open { display: flex; }
  .header nav a:not(.nav-cta) { min-height: 48px; padding: 12px 0; border-bottom: 1px solid #ffffff20; }
  .header nav .nav-cta { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 12px 16px; margin-top: 14px; }
}

/* News remains a single horizontal strip as announcements are added. */
.news-carousel { min-width: 0; }
.news-track { position: relative; display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
.news-track::-webkit-scrollbar { display: none; }
.news-track:focus-visible { outline: 2px solid #947644; outline-offset: 4px; }
.news-slide { flex: 0 0 100%; min-width: 0; display: flex; scroll-snap-align: start; scroll-snap-stop: always; }
.news-slide .news-card { width: 100%; display: flex; flex-direction: column; align-items: flex-start; }
.news-slide .news-description { flex: 1; }
.news-slide .news-card:focus-visible { outline-offset: -5px; }
.news-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 24px; margin-top: 20px; }
.news-swipe-hint { display: none; font-size: 12px; color: #727467; margin: 0 auto 0 0; }
.news-pagination { display: flex; align-items: center; gap: 16px; }
.news-pagination button { width: 44px; height: 44px; border: 1px solid #bda881; color: #72582d; background: transparent; font-size: 20px; line-height: 1; cursor: pointer; }
.news-pagination button:hover:not(:disabled) { background: #e8e4d9; }
.news-pagination button:disabled { opacity: .35; cursor: default; }
.news-position { font-size: 12px; color: #656b5e; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
@media (max-width: 700px) {
  .news-swipe-hint { display: block; }
  .news-pagination { gap: 10px; }
  .news-controls { gap: 12px; }
}

/* Image-led news cards retain native horizontal swiping. */
.news-slide .news-card { padding: 0; overflow: hidden; }
.news-visual { position: relative; width: 100%; height: clamp(190px, 24vw, 300px); overflow: hidden; background: #171b16; }
.news-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.news-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #10140ed9, #10140e00 85%); }
.news-visual > span { position: absolute; z-index: 1; left: 2.5rem; bottom: 1.5rem; color: #fff7e6; font: 400 clamp(24px, 3vw, 42px)/1.2 Georgia, serif; letter-spacing: .08em; }
.news-visual small { display: block; margin-top: 10px; font: 400 14px/1.7 var(--sans); letter-spacing: .08em; color: #ead8b8; }
.news-visual-faces img { object-position: center 48%; }
.news-copy { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 1.75rem 2.5rem 2rem; width: 100%; }
.news-copy .news-description { font-size: 1rem; }
@media (max-width: 700px) {
 .news-visual { height: 190px; }
 .news-visual > span { left: 1.25rem; bottom: 1.25rem; font-size: clamp(21px, 6vw, 30px); letter-spacing: .045em; }
 .news-copy { padding: 1.25rem; }
 .news-copy .news-meta { gap: .5rem; }
 .news-copy h3 { margin-top: .75rem; }
}
