/* Approved image concept: independent background, HTML copy and original emblem. */
.ae-hero {position:relative; isolation:isolate; overflow:hidden; min-height:max(820px,100svh); padding:calc(112px + clamp(72px, calc(152px - 8svh), 76px)) 5vw 190px; box-sizing:border-box; background:#080807; color:#eee8d9;}
.ae-hero__grain {position:absolute; inset:0; z-index:-2; background:url("../atsurae/approved-fv-background.jpg") center / 100% 100% no-repeat; pointer-events:none;}
.ae-hero__inner {width:100%; max-width:1480px; margin:0 auto; display:flow-root;}
.ae-hero__copy {position:relative; z-index:2; width:54%; max-width:560px;}
.ae-hero__identity {margin:0 0 18px;}
.ae-hero .ae-hero__brand {margin:0; color:#d0ac61; font-family:Georgia,"Times New Roman",serif; font-size:12px; font-weight:400; letter-spacing:.18em; line-height:20px; white-space:nowrap;}
.ae-hero h1 {margin:0; color:#f1ecdf; font-size:clamp(28px,3.6vw,52px); line-height:1.4; font-weight:400; letter-spacing:.06em;}
.ae-hero h1 span {display:block; white-space:nowrap;}
.ae-hero h1 span {animation:ae-copy-in .62s ease-out both;}
.ae-hero h1 span:nth-child(2) {animation-delay:.12s;}
.ae-hero .ae-hero__lead {animation:ae-copy-in .66s ease-out .34s both;}
.ae-hero__actions {animation:ae-copy-in .66s ease-out .52s both;}
.ae-hero__actions:focus-within {animation:none;}
@keyframes ae-copy-in {from {opacity:0; transform:translateY(10px);} to {opacity:1; transform:translateY(0);}}
.ae-hero .ae-hero__lead {margin:24px 0 0; color:#e4dfd3; font-size:clamp(18px,1.35vw,19.44px); line-height:1.9; letter-spacing:.055em;}
.ae-hero__mark {position:absolute; z-index:1; margin:0; width:43vw; max-width:730px; right:8vw; top:48%; transform:translateY(-50%);}
.ae-hero__mark img {display:block; width:100%; height:auto;}
.ae-hero__mist {position:absolute; z-index:1; inset:22% -8% 0 50%; overflow:hidden; pointer-events:none; mask-image:linear-gradient(90deg,transparent,#000 22%,#000 85%,transparent);}
.ae-hero__mist::before,.ae-hero__mist::after {content:""; position:absolute; inset:-15% -30%; background:radial-gradient(ellipse 48% 21% at 48% 60%,rgba(240,241,235,.34),rgba(220,226,222,.15) 45%,transparent 75%),radial-gradient(ellipse 34% 16% at 68% 78%,rgba(242,238,220,.24),transparent 78%); animation:ae-mist-drift 12s ease-in-out infinite alternate;}
.ae-hero__mist::after {background:radial-gradient(ellipse 50% 19% at 52% 43%,rgba(240,242,238,.24),rgba(230,235,231,.08) 55%,transparent 80%); animation-duration:16s; animation-delay:-6s; animation-direction:alternate-reverse;}
@keyframes ae-mist-drift {from{transform:translate(-18%,13%) rotate(-12deg);opacity:.75} to{transform:translate(19%,-14%) rotate(8deg);opacity:1}}
.ae-hero__actions {display:flex; flex-wrap:wrap; gap:14px; margin-top:34px;}
.ae-hero__actions a {position:relative; display:flex; align-items:center; justify-content:center; gap:18px; min-height:70px; min-width:226px; padding:0 32px; box-sizing:border-box; border:1px solid #a98a49; color:#e3ca8c; background:rgba(7,7,6,.65); text-decoration:none; font-size:16px; font-weight:400; white-space:nowrap; transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s;}
.ae-hero__actions a:first-child {background:#d4b970; color:#17130c; border-color:#d4b970;}
@media (hover:hover) and (pointer:fine) {
 .ae-hero__actions a:hover {transform:translateY(-3px); background:#e4c779; color:#17130c; border-color:#f2d88f; box-shadow:0 8px 22px rgba(0,0,0,.32);}
 .ae-hero__actions a:first-child:hover {background:#17130c; color:#d4b970; border-color:#d4b970;}
}
.ae-hero__actions a:focus-visible {background:#f1dda6; color:#17130c; border-color:#fff0c9;}
.ae-hero__actions a:first-child:focus-visible {background:#17130c; color:#d4b970; border-color:#d4b970;}
.ae-hero a:focus-visible {outline:2px solid #f2d88f; outline-offset:5px;}
.ae-hero__scroll {--scroll-line-height:86px; position:absolute; left:50%; bottom:0; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:14px; color:#d0ac61; text-decoration:none; font:10px/1 Arial,sans-serif; letter-spacing:.18em;}
.ae-hero__scroll i {position:relative; width:1px; height:var(--scroll-line-height); background:#917442;}
.ae-hero__scroll i::after {content:""; position:absolute; left:-1px; top:0; width:3px; height:3px; border-radius:50%; background:#e0c16c; animation:ae-scroll 3.2s linear infinite;}
@keyframes ae-scroll {0%{transform:translateY(0);opacity:0} 15%{opacity:1} 80%{transform:translateY(calc(var(--scroll-line-height) - 3px));opacity:1} 100%{transform:translateY(calc(var(--scroll-line-height) - 3px));opacity:0}}
.ae-concept-lead__group {display:block; text-wrap:pretty;}
#concept .ae-concept-lead .mon-copy-line {display:inline; white-space:normal;}
#concept .mon-section-copy {grid-column:1 / -1;}
#concept .ae-concept-lead {max-width:none;}
#concept .mon-concept {row-gap:24px; align-items:start;}
#concept {scroll-margin-top:96px;}
#concept .mon-lp-section__inner {padding-bottom:56px;}
#concept .mon-concept__points {margin-top:0;}
#concept .mon-concept__visual {min-height:0; height:clamp(240px,22vw,320px);}
@media (min-width:721px) {
 #concept .mon-concept__visual {min-height:0; height:clamp(300px,23vw,380px); margin-top:calc(-1 * clamp(300px,23vw,380px)); align-self:end;}
 #concept .mon-concept__visual img {position:absolute; inset:0; min-height:0; height:100%;}
}
.ae-works-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px 32px; margin-top: 38px;}
.ae-menu-lead {max-width:52em; margin:24px 0 0; color:#dfd9cb; font-size:17px; line-height:1.9; text-wrap:pretty;}
.ae-menu-icon {display:block; width:48px; height:48px; margin-bottom:4px; color:#d7b96f; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round;}
#menu .mon-menu-grid {margin-top:32px;}
.ae-menu-context-title {margin:40px 0 0; color:#eddfb3; font-size:20px; font-weight:400; line-height:1.6;}
#menu .mon-service-table {margin-top:20px; border-left:0; border-right:0;}
#menu .mon-service-table strong {font-size:20px; line-height:1.6; color:#eddfb3; text-wrap:balance;}
.ae-menu-break {display:none;}
#plan.mon-lp-section--about {isolation:isolate; overflow:hidden;}
#plan.mon-lp-section--about::after {right:0; top:0; width:52%; height:100%; transform:none; opacity:.16; background-size:64px 64px; mask-image:radial-gradient(ellipse at 100% 50%,#000 0%,rgba(0,0,0,.7) 35%,transparent 75%); pointer-events:none; z-index:-1;}
@media(max-width:720px) {#plan.mon-lp-section--about::after {width:75%; opacity:.1; background-size:48px 48px;}}
.ae-process-journey {display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); list-style:none; padding:0; margin:52px 0 0; gap:0;}
.ae-process-journey > li {position:relative; min-width:0; padding:0 18px; --phase:0s;}
.ae-process-journey > li:nth-child(2) {--phase:2s;}
.ae-process-journey > li:nth-child(3) {--phase:4s;}
.ae-process-journey > li:nth-child(4) {--phase:6s;}
.ae-process-journey > li:nth-child(5) {--phase:8s;}
.ae-process-journey > li:not(:last-child)::after {content:""; position:absolute; top:13px; left:36px; width:5px; height:5px; border-radius:50%; background:#f3d68d; opacity:0; pointer-events:none; animation:ae-process-travel 10s linear var(--phase) infinite;}
@keyframes ae-process-travel {0% {left:36px; opacity:0;} 2% {opacity:1;} 18% {opacity:1;} 20% {left:100%; opacity:0;} 100% {left:100%; opacity:0;}}
.ae-process-journey > li:first-child {padding-left:0;}
.ae-process-journey > li:last-child {padding-right:0;}
.ae-process-journey > li::before {content:""; position:absolute; top:15px; left:0; right:0; height:1px; background:#79643a;}
.ae-process-journey > li:last-child::before {right:50%;}
.ae-process-journey__number {position:relative; display:inline-block; padding:0 12px 0 0; background:#0b0b08; color:#d7b96f; font:18px/30px Georgia,serif; letter-spacing:.08em;}
.ae-process-journey svg {display:block; width:76px; height:76px; margin:26px 0 22px; stroke:#d7b96f; stroke-width:1.25; stroke-linejoin:round; stroke-linecap:round;}
.ae-process-journey h3 {margin:0; color:#eddfb3; font-size:24px; font-weight:400; line-height:1.5;}
.ae-process-journey p {margin:12px 0 0; color:#dfd9cb; font-size:16px; line-height:1.85; text-wrap:balance;}
.ae-process-phrase {display:inline-block; max-width:100%; text-wrap:pretty;}
.ae-process-journey .ae-process-journey__purpose {color:#c5ab67; font-size:14px; margin-top:8px; min-height:2em; text-wrap:balance;}
@media(max-width:1199px) {
 .ae-process-journey {grid-template-columns:1fr; margin-top:36px;}
 .ae-process-journey > li,.ae-process-journey > li:first-child,.ae-process-journey > li:last-child {display:grid; grid-template-columns:34px 76px minmax(0,1fr); column-gap:22px; padding:0 0 30px;}
 .ae-process-journey > li::before {top:20px; bottom:0; left:14px; right:auto; height:auto; width:1px;}
 .ae-process-journey > li:not(:last-child)::after {left:12px; top:38px; animation-name:ae-process-travel-down;}
 .ae-process-journey > li:last-child::before {display:none;}
 .ae-process-journey__number {grid-column:1; grid-row:1 / 4; align-self:start; padding:0 0 8px;}
 .ae-process-journey svg {grid-column:2; grid-row:1 / 4; margin:0;}
 .ae-process-journey h3,.ae-process-journey p {grid-column:3;}
 .ae-process-journey .ae-process-journey__purpose {min-height:0; margin-top:5px;}
}
@keyframes ae-process-travel-down {0% {top:38px; opacity:0;} 2% {opacity:1;} 18% {opacity:1;} 20% {top:100%; opacity:0;} 100% {top:100%; opacity:0;}}
@media(prefers-reduced-motion:reduce) {.ae-process-journey > li:not(:last-child)::after {animation:none; display:none;}}
@media(max-width:540px) {
 .ae-process-journey > li,.ae-process-journey > li:first-child,.ae-process-journey > li:last-child {grid-template-columns:28px 48px minmax(0,1fr); column-gap:12px;}
 .ae-process-journey svg {width:48px; height:48px;}
 .ae-process-journey h3 {font-size:22px;}
 .ae-process-journey p:not(.ae-process-journey__purpose) {grid-column:2 / 4;}
}
@media (min-width:1180px) { .ae-menu-break {display:initial;} }
#menu .mon-service-table p {max-width:38em; color:#dfd9cb; text-wrap:pretty;}
.ae-work-card {min-width: 0; margin: 0;}
.ae-work-card > img, .ae-work-card > video {display: block; width: 100%; height:clamp(240px,24vw,340px); object-fit: contain; background: #080808;}
@media (min-width:1180px) {
 .ae-works-grid {grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px;}
 .ae-work-card > img,.ae-work-card > video {height:auto; aspect-ratio:1;}
}
.ae-work-card__caption {padding: 20px 0 0; border-top: 1px solid #54472d;}
.ae-work-card__caption > span {font: 11px/1.5 Arial,sans-serif; letter-spacing: .14em; color: #c5ab67;}
.ae-work-card__caption h3 {margin: 6px 0 10px; color: #eddfb3; font-size: 24px; font-weight: 400;}
.ae-work-card__caption p {margin: 0; font-size: 16px; line-height: 1.85; color: #dfd9cb; text-wrap: pretty;}

@media (min-width:721px) and (max-width:1100px) {
 .ae-hero {min-height:900px;}
 .ae-hero__copy {width:60%;}
 .ae-hero__mark {width:44vw; right:0; top:55%;}
 .ae-hero__actions {flex-direction:column; width:270px;}
}
@media (max-width:720px) {
 .ae-hero {min-height:800px; padding:228px 22px 160px;}
 .ae-hero__grain {background-size:auto 100%; background-position:44% center;}
 .ae-hero__grain::after {content:""; position:absolute; inset:120px 0 70px; background:linear-gradient(180deg,transparent,rgba(0,0,0,.3) 20%,rgba(0,0,0,.3) 70%,transparent);}
 .ae-hero__copy {width:100%; max-width:none;}
 .ae-hero__identity {display:none;}
 .ae-hero h1 {font-size:clamp(24px,7.8vw,40px); line-height:1.4; letter-spacing:normal;}
 .ae-hero .ae-hero__lead {font-size:17px; line-height:1.85; margin-top:16px;}
 .ae-hero__lead br {display:initial;}
 .ae-hero__lead span {display:inline-block;}
 .ae-hero__mark {width:166px; top:78px; right:24px; transform:none;}
 .ae-hero__actions {flex-direction:column; gap:10px; margin-top:18px; width:100%; max-width:280px;}
 .ae-hero__actions a {min-width:0; min-height:48px; font-size:12px; padding:0 10px;}
 .ae-hero__scroll {--scroll-line-height:78px;}
 .ae-hero__mist {inset:auto -12% 0; height:160px; mask-image:linear-gradient(180deg,transparent,#000 35%,#000 85%,transparent);}
 .ae-works-grid {grid-template-columns:1fr; gap:34px;}
}
@media (prefers-reduced-motion:reduce) {
 .ae-hero h1 span,.ae-hero .ae-hero__lead,.ae-hero__actions {animation:none;}
 .ae-hero__mist::before,.ae-hero__mist::after {animation:none; opacity:.45;}
 .ae-hero__scroll i::after {animation:none; top:50%;}
 .ae-hero__actions a {transition:none;}
 .ae-hero__actions a:hover {transform:none;}
}
