
/* hero */
.main-visual{position:relative;height:300vh;} 
.main-title{position:sticky;top:0;left:0;z-index:7;width:100%;height:100vh;box-sizing:border-box;padding:0 clamp(24px,3.5vw,64px) calc(clamp(88px,10vh,144px) + 5vh);display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden;visibility:hidden;opacity:0;background:linear-gradient(to top,rgba(248,247,244,.92) 0%,rgba(248,247,244,.72) 16%,rgba(248,247,244,.2) 34%,rgba(248,247,244,0) 52%);pointer-events:none;}
.main-visual .btit{width:100%;font-size:4.5rem;line-height:.9;font-weight:500;letter-spacing:-.055em;}
.main-visual .main-title .asp-growth-statement{max-width:100%;font-size:min(5.25rem,6.8vw);line-height:1.02;letter-spacing:-.045em;color:#0a0a0a;font-family:var(--asp-font-wordmark);font-variation-settings:"wght" 520;font-weight:520;text-shadow:none;transform-origin:left bottom;will-change:transform;}
.main-title .main-title__line{display:block;white-space:nowrap;opacity:0;filter:blur(10px);transform:translate3d(0,28px,0);will-change:transform,opacity,filter;}
.main-title .main-title__line:first-child{font-size:.46em;line-height:1.25;letter-spacing:-.025em;font-weight:400;font-variation-settings:"wght" 400;}
.main-title .main-title__line + .main-title__line{font-size:1em;margin-top:.1em;}
.main-bottom{position:sticky;width:100%;left:0;padding:10px 30px;bottom:0;letter-spacing:0;height:50px;top:calc(100% - 50px);display:flex;justify-content:space-between; font-size:14px;     text-transform: uppercase; font-weight: 400;}
.main-shutter{display:none;position:absolute;inset:0;top:0;height:100vh;z-index:-1;}
.main-shutter span{background:#0a0a0a;height:2px;width:100%;position:absolute;left:0;bottom:-2px;will-change:transform;transform:translateZ(0);} 
.main-scroll{position:sticky;width:100%;top:calc(100% - 40px);font-weight:500;height:40px;left:0;bottom:0;text-align:center;letter-spacing:.18em;line-height:1;z-index:2;font-size:clamp(10px,.625vw,12px);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;}
.main-scroll__label{display:block;white-space:nowrap;}
.main-scroll::after{content:"↓";display:block;margin:0;font-size:15px;font-weight:400;line-height:1;letter-spacing:0;opacity:.58;animation:asp-explore-arrow 1.8s cubic-bezier(.22,1,.36,1) infinite;}
@keyframes asp-explore-arrow{0%,100%{transform:translateY(0);opacity:.45;}50%{transform:translateY(4px);opacity:.8;}}
@media (prefers-reduced-motion:reduce){.main-scroll::after{animation:none;}}
 
.main-media{position:sticky;top:0;width:100%;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.main-media span{position:absolute;left:50%;top:50%;width:390px;max-width:none;aspect-ratio:1;overflow:hidden;will-change:transform,width,height,opacity;}
.main-media span:nth-child(1){border-radius:clamp(20px,3.125vw,60px) 0  clamp(20px,3.125vw,60px) 0;}
.main-media span:nth-child(2){border-radius:50%;z-index:5;}
.main-media span:nth-child(3){border-radius:0  clamp(20px,3.125vw,60px) 0 0;}
.main-media span:nth-child(4){border-radius:50%;}
.main-media span img,.main-media span video{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;display:block;border:0;outline:0;box-shadow:none;backface-visibility:hidden;transform:translateZ(0);}
.main-media .hero-approved-composition{position:absolute;left:50%;top:50%;z-index:6;width:min(1400px,100vw);height:auto;max-width:none;transform:translate(-50%,-50%);pointer-events:none;user-select:none;will-change:opacity;}
.main-media .hero-panel-layer{position:absolute;inset:0;overflow:hidden;}
.main-media .hero-panel-box{
	inset:-1px;
	opacity:0;
	border:0;
	outline:0;
	box-shadow:none;
	-webkit-clip-path:inset(50% round 50%);
	clip-path:inset(50% round 50%);
	will-change:clip-path,opacity;
}

/* Hide the decoded media edge during the letter-to-square handoff. A tiny
   overscan prevents Chromium from exposing a one-pixel top seam as the
   clip-path reaches zero and the selected panel begins expanding. */
.main-media .hero-panel-box video{
	left:-2px;
	top:-2px;
	width:calc(100% + 4px);
	height:calc(100% + 4px);
}

/* Paired films alternate in their letter and box layers without flattening
   them into a pre-edited montage. Both layers share the same crossfade. */
.main-media [data-asp-hero-playlist] video{
	opacity:0;
	transition:opacity .72s cubic-bezier(.22,1,.36,1);
}
.main-media [data-asp-hero-playlist] video.is-active{
	opacity:1;
}
.main-media .aisp-letter--a [data-asp-hero-playlist] video{
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:50% 50%;
	scale:1;
}
/* Fill A without letterboxing or additional zoom. The interface film's
   title sits left of center; the collaboration film favors the glass UI. */
.main-media .aisp-letter--a [data-asp-hero-playlist] video:nth-child(2){
	object-position:36% 50%;
}
.main-media .aisp-letter--a [data-asp-hero-playlist] video:nth-child(3){
	object-position:46% 50%;
}
.main-media .aisp-letter--a [data-asp-hero-playlist]{
	background:#071017;
}
.main-media .aisp-letter--s [data-asp-hero-playlist]{
	background:#edf0f1;
}
@media (prefers-reduced-motion:reduce){
	.main-media [data-asp-hero-playlist] video{
		transition:none;
	}
}

/* A single rounded, ultra-bold visual language for all four AISP media masks. */
.main-media span.aisp-letter{
	max-width:none;
	border-radius:0;
	overflow:visible;
	isolation:isolate;
	-webkit-mask-image:none;
	mask-image:none;
}
.main-media .aisp-letter--a{
	z-index:1;
}
.main-media .aisp-letter--i{
	z-index:4;
}
.main-media .hero-panel-letter{
	overflow:visible;
	-webkit-mask-position:center;
	-webkit-mask-repeat:no-repeat;
	-webkit-mask-size:100% 100%;
	mask-position:center;
	mask-repeat:no-repeat;
	mask-size:100% 100%;
}
.main-media .aisp-letter--a .hero-panel-letter{
	-webkit-mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-a.png?v=approved-v37');
	mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-a.png?v=approved-v37');
}
.main-media .aisp-letter--i .hero-panel-letter{
	-webkit-mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-i.png?v=approved-v37');
	mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-i.png?v=approved-v37');
}
.main-media .aisp-letter--s{
	z-index:2;
}
.main-media .aisp-letter--s .hero-panel-letter{
	-webkit-mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-s.png?v=approved-v37');
	mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-s.png?v=approved-v37');
}
.main-media .aisp-letter--p{
	z-index:3;
}
.main-media .aisp-letter--p .hero-panel-letter{
	-webkit-mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-p.png?v=approved-v37');
	mask-image:url('/site-v9/assets/images/approved-letter-pieces/aisp-p.png?v=approved-v37');
}

 

/* marquee */
.marquee-section{display:flex;flex-direction:column;gap:100px;padding:clamp(50px,10.417vw,200px) 0 0; overflow:hidden;}
.marquee-track{display:flex; gap:clamp(8px,0.833vw,16px);width:max-content;will-change:transform;cursor:grab;}
.marquee-track:active{cursor:grabbing;}
.marquee-track *{user-select:none;-webkit-user-drag:none;}
.marquee-track img{pointer-events:none;}
.marquee-card{flex-shrink:0;}
.marquee-track:has(.media-card){align-items:flex-start;}
.marquee-track:has(.media-card) .marquee-card:nth-child(3n+1){aspect-ratio:1.2;}
.marquee-track:has(.media-card) .marquee-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:#0a0a0a;transition:all ease .5s;pointer-events:none;}
.marquee-track:has(.media-card) .marquee-card.is-active::after{height:0; top:auto; bottom:0;}
.info-card{position:relative;width:clamp(160px,16.667vw,320px);aspect-ratio:.8;padding:clamp(16px,1.25vw,24px); display:flex;flex-direction:column; flex-direction:column-reverse;justify-content:space-between;align-items:flex-start;overflow:hidden;font-weight:500;background:#000;color:#fff;gap:10px;}
.info-card p{font-size:clamp(18px,1.875vw,36px);line-height:1.1;}
.info-card p:last-child{font-size:clamp(12px,0.833vw,16px); font-weight: 400; line-height:1.4; color: rgba(255, 255, 255, 0.5);}
.info-card strong{width:100%;font-size:60px;font-weight:500;opacity:.2;text-align:center; display:none;} 
.media-card{position:relative;width:clamp(160px,16.667vw,320px);aspect-ratio:1;overflow:hidden;}
.media-card img,.media-card video{width:100%;height:100%;object-fit:cover;display:block; } 
/* Explicit dimensions also apply to every cloned card, independent of position. */
.asp-uploaded-reel .marquee-track .marquee-card:nth-child(n){box-sizing:border-box;width:clamp(160px,16.667vw,320px);height:clamp(200px,20.83375vw,400px);aspect-ratio:auto;flex-shrink:0;}
.asp-uploaded-reel .marquee-track .marquee-card.info-card:nth-child(n){height:clamp(224px,23.3338vw,448px);}
.asp-uploaded-reel{padding-bottom:clamp(24px,3.5vw,56px);}
.asp-uploaded-reel .info-card p:last-child{font-size:clamp(14px,1.05vw,17px);line-height:1.5;color:#c7c7c7;}
.asp-uploaded-reel .info-card p:last-child br{display:none;}
 


/* Slice 1: editorial copy inside the existing reel and voice sections.
   The hero styles and responsive rules remain untouched. */
.asp-proposition {gap:clamp(64px,7vw,112px);}
.asp-proposition__copy {padding:0 clamp(24px,3.5vw,64px);}
.asp-proposition__copy h2 {
  max-width:1100px;
  font-family:var(--asp-font-interface);
  font-size:clamp(34px,5vw,80px);
  font-weight:400;
  line-height:1.06;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.asp-proposition__copy > p {
  max-width:440px;
  margin:clamp(32px,4vw,64px) 0 0 auto;
  font-size:clamp(17px,1.4vw,22px);
  font-weight:400;
  line-height:1.5;
  letter-spacing:-.02em;
}
.voice-section.asp-customer-story {
  height:300svh;
  padding:0 clamp(24px,3.5vw,64px);
}
.asp-customer-story .asp-customer-story__stage {
  height:100svh;
  box-sizing:border-box;
  padding:clamp(88px,10vh,144px) 0 clamp(40px,6vh,80px);
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:clamp(40px,7vw,112px);
  overflow:visible;
}
.asp-customer-story h2 {
  flex:0 1 40%;
  font-family:var(--asp-font-interface);
  font-size:clamp(32px,3.8vw,60px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.04em;
  text-wrap:balance;
}
.asp-customer-journey {flex:0 1 54%;list-style:none;margin:0;padding:0;}
.asp-customer-journey li {display:flex;flex-direction:column;align-items:flex-start;}
.asp-customer-journey__word {
  display:block;
  font-family:var(--asp-font-interface);
  font-size:clamp(38px,5vw,88px);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.asp-customer-journey__arrow {
  display:block;
  margin:clamp(10px,1.3vh,18px) 0;
  font-size:22px;
  line-height:1;
  color:#8a827f;
}
@media (max-width:768px), (max-height:600px) {
  .asp-editorial-break {display:none;}
  .asp-proposition__copy h2 {max-width:20ch;}
  .asp-proposition__copy > p {margin-left:0;}
  .voice-section.asp-customer-story {height:auto;}
  .asp-customer-story .asp-customer-story__stage {
    position:relative;
    height:auto;
    padding:96px 0 64px;
    flex-direction:column;
    align-items:flex-start;
    gap:56px;
  }
  .asp-customer-story h2 {max-width:17ch;font-size:clamp(32px,6vw,48px);}
  .asp-customer-journey {width:100%;}
  .asp-customer-journey__word {font-size:clamp(32px,7.8vw,56px);}
  .asp-customer-journey__arrow {margin:24px 0;}
}
@media (prefers-reduced-motion:reduce) {
  .voice-section.asp-customer-story {height:auto;}
  .asp-customer-story .asp-customer-story__stage {position:relative;height:auto;min-height:80svh;}
}

/* work */ 
.work-section{position:relative;padding:clamp(50px,10.417vw,200px) clamp(20px,1.563vw,30px) 0;}
.work-section .btit{position:sticky;top:50px;    transform-origin: left;} 
.work-grid{display:grid;grid-template-columns:repeat(10,1fr);width:100%;align-items:flex-start;     row-gap: clamp(20px,6.25vw,120px);}
.work-grid+.work-grid{padding-top:clamp(20px,6.25vw,120px);}
.work-grid:last-child{padding-bottom:300px;}
.work-thumb{position:relative;width:100%;aspect-ratio:1.7;overflow:hidden;will-change:transform;/*border:1px solid rgb(170 170 170 / 30%);*/}
.work-thumb:has(.work-preview)>img,.work-thumb:has(.work-preview)>video{/*filter:brightness(.5);*/}
.work-thumb img,.work-thumb video{width:100%;height:100%;object-fit:cover;       transform: scale(1.01); }
.work-block{position:sticky;top:60px;will-change:transform;}
.work-block a{display:block;} 
.work-content{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;overflow:hidden; transition:all ease .35s;opacity:0; transform:translateY(-100%);padding:8px 10px;  z-index:-1;position:relative; color: #fff;  border-top:2px solid var(--beige);}
.work-content:before{content:''; position:absolute; right:0; top:0;width: 0; height: 100%; background: #0a0a0a; transition:all ease .35s; z-index:-1;}
.work-content.active{transform:translateY(0);opacity:1;filter:blur(0);}
.work-content.active:before{width: 100%; left:0; right:auto;}
.work-content h3{flex:1;width:40%;font-weight:500;font-size:clamp(14px,0.938vw,18px);}
.work-content b{margin-top:2px;  font-weight: 400; opacity:.8;     letter-spacing: 0;}  
.work-content .badge{gap:0;} 
.work-block-1{grid-column:8 / span 3;}
.work-block-2{grid-column:1 / span 5;}
.work-block-3{grid-column:7 / span 2;}
.work-block-4{grid-column:1 / span 4;}
.work-block-5{grid-column:6 / span 5;}
.work-block-6{grid-column:1 / span 3;} 
.work-block-7{grid-column:5 / span 2;}
.work-block-8{grid-column:6 / span 5;}
.work-block-9{grid-column:1 / span 2;}
.work-block-10{grid-column:5 / span 4; margin-top: 200px;}
.work-block-1 a,
.work-block-5 a,
.work-block-8 a {transform-origin:right top;}
.work-block-2 a,
.work-block-3 a,
.work-block-4 a,
.work-block-6 a, 
.work-block-9 a,
.work-block-7 a,
.work-block-10 a{transform-origin:left top;} 
.work-block-6 video{transform:scale(1.5) translateY(20px);}   
.work-block-8 .work-thumb{aspect-ratio:2;  } 
.work-preview{position:absolute;left:50%;top:50%;width:50%;overflow:hidden;transform:translate(-50%,-50%);transition:all ease .2s;}
.work-preview-media{width:100%;aspect-ratio:1.7;overflow:hidden; }
.work-preview h3{font-weight:550;letter-spacing:-.03em;}
.work-block>a:hover .work-preview{opacity:0;}

/* award */
.award-section{padding:20px clamp(20px,1.563vw,30px) 0;  }
.award-block{position:relative;display:flex;  transition:all ease .35s;  gap:clamp(30px,2.604vw,50px);  } 
.award-list{ width:50%; }
.award-item{display:flex; align-items:center;justify-content:space-between; font-size:clamp(13px,0.833vw,16px); padding:3px 0;  border-top:1px solid #0a0a0a;} 
.award-item > span{flex:1;   letter-spacing: -0.02em;}
.award-item strong{font-weight: 650; color: #0a0a0a;}
.award-item .badge{ justify-content:flex-end;}
.award-year{position:relative; width:50%; text-align:right; font-weight: 550;   font-size: clamp(13px,0.833vw,16px);}
.award-year .award-label{position:absolute; left:0; top:0; font-size:clamp(20px,1.25vw,24px); }
.award-block:has(.award-label){ border-top:2px solid #0a0a0a; padding-top: 10px; margin-top: 10px;}
.award-block:has(.award-label) .award-list .award-item:first-child{border-top:0;}
.award-preview{position:fixed;left:0;top:0;width:220px;aspect-ratio:1;pointer-events:none;z-index:9999;overflow:hidden;transform:translate(-50%,-50%) scale(.85);will-change:transform;}
.award-preview.glass-noise:before{z-index:100;}
.award-preview-inner{position:relative;width:100%;height:100%;background:#111;overflow:hidden;backface-visibility:hidden;transform:translateZ(0);}
.award-preview-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center center;}
.award-preview-img.current{z-index:1;}
.award-preview-img.next{z-index:10;}
.award-section .cursor-hover{  margin-top: clamp(40px,4.167vw,80px); text-align: center;} 



/* voice */
.voice-section{position:relative;height:300vh;padding:0 clamp(20px,1.563vw,30px);}
.voice-expand{position:sticky;top:0;padding-top:clamp(100px,10.417vw,200px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(20px,2.083vw,40px);overflow:hidden;}
.voice-grid{position:relative;width:clamp(100px,8.333vw,160px);height:clamp(100px,8.333vw,160px);padding:0;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:0 40px;background:var(--primary);overflow:hidden;will-change:width,height,border-radius,padding;}
.voice-grid .symbol{position:absolute;left:50%;top:50%; transform:translate(-50%,-50%) scale(1.5);transition:all ease .5s;}
.voice-grid.glass-noise .symbol{opacity:1;}
.voice-card{display:flex;flex-direction:column;gap:clamp(5px,1.042vw,20px);opacity:0;transform:translateY(80px) scale(.8);will-change:transform,opacity; }
.voice-section .btit{text-align:center;}
.voice-question{position:relative;z-index:2;font-size:clamp(16px,1.25vw,24px);}
.voice-answer{position:relative;z-index:2;max-width:300px;font-size:16px;font-weight:400;opacity:.7;display:none;}


/* Calm, self-contained footer; no inherited animated footer effects. */
.asp-footer{position:sticky;bottom:0;z-index:0;overflow:hidden;background:#d4a59a;color:#201b1a;padding:clamp(120px,17.708vw,340px) clamp(24px,4vw,72px) 28px;margin-top:0;font-family:var(--asp-font-wordmark);}
.asp-footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;padding-bottom:clamp(48px,5vw,80px);}
.asp-footer h2{font-size:clamp(34px,4.5vw,72px);font-weight:500;letter-spacing:-.05em;line-height:1.12;margin:0;}
.asp-footer h2 > span{display:block;}
.asp-footer > div{position:relative;z-index:1;}
.asp-footer .asp-footer-atmosphere{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:soft-light;opacity:.16;pointer-events:none;z-index:0;}
.asp-footer a{color:inherit;text-decoration:none;}
.asp-footer .asp-footer-cta{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;border:1px solid #201b1a80;border-radius:999px;padding:14px 24px;font-size:16px;line-height:1.3;white-space:nowrap;transition:background .2s,color .2s;}
.asp-footer-cta span{font-size:24px;line-height:1;}
.asp-footer .asp-footer-cta:hover{background:#201b1a;color:#fff8f5;}
.asp-footer a:focus-visible{outline:2px solid #201b1a;outline-offset:6px;}
.asp-footer-details{border-top:1px solid #201b1a40;display:flex;justify-content:space-between;align-items:center;gap:40px;padding:36px 0 44px;}
.asp-footer-identity{display:flex;align-items:center;gap:28px;}
.asp-footer-brand{font-size:36px;font-weight:650;letter-spacing:-.07em;line-height:1;}
.asp-footer-identity p{font-size:14px;line-height:1.65;color:#51413d;margin:0;}
.asp-footer-contact{display:flex;flex-direction:column;gap:10px;min-width:0;}
.asp-footer-contact>span{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#51413d;}
.asp-footer-contact a{font-size:clamp(16px,1.3vw,20px);line-height:1.5;overflow-wrap:anywhere;text-underline-offset:5px;}
.asp-footer-contact a:hover{text-decoration:underline;}
.asp-footer-base{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #201b1a30;padding-top:24px;}
.asp-footer-base p{font-size:12px;line-height:1.6;color:#51413d;margin:0;}
@media(max-width:1000px){.asp-footer-main{grid-template-columns:1fr;gap:28px;}.asp-footer .asp-footer-cta{justify-self:start;}.asp-footer-details{align-items:flex-start;}}
@media(max-width:600px){.asp-footer-details{flex-direction:column;gap:32px;padding:30px 0;}.asp-footer-identity{gap:20px;}.asp-footer-base{flex-direction:column;gap:8px;}.asp-footer h2{font-size:clamp(32px,7.5vw,44px);}}
@media(prefers-reduced-motion:reduce){.asp-footer{position:relative;}.asp-footer .asp-footer-cta{transition:none;}.asp-footer .asp-footer-atmosphere{display:none;}}

/* faq */
.faq-section{position:relative;padding:clamp(60px,10.417vw,200px) clamp(20px,1.563vw,30px) 0 ;overflow:hidden;}
.faq-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.07),transparent 35%);pointer-events:none;}
.faq-head{width:40%;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,3.125vw,60px);}
.faq-section .stit{font-size:clamp(30px,3.125vw,60px);line-height:1;font-weight:450;letter-spacing:-0.04em;}
.faq-section .stit .font-point{font-weight:600;}
.faq-grid{display:flex;flex-direction:column;gap:80px;}
.faq-grid .faq-cont{width:100%;display:flex;gap:clamp(50px,5.208vw,100px);margin:0 auto;}
.faq-label{margin-bottom:18px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.45;}
.faq-title{margin-bottom:80px;font-size:clamp(42px,6vw,88px);line-height:.92;font-weight:600;letter-spacing:-.05em;}
.faq-list{position:relative;flex:1;min-width:0;}
.faq-track{display:flex;flex-direction:column;gap:0;}
.faq-item + .faq-item::before{content:"";display:block;width:100%;height:1px;background:#0a0a0a;will-change:transform;transform:translateZ(0);backface-visibility:hidden;perspective:1000px;}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(10px,1.042vw,20px) 0;border:0;background:none;cursor:pointer;text-align:left;font-size:clamp(16px,1.25vw,24px);font-weight:550;letter-spacing:-.03em;will-change:transform;transform:translateZ(0);backface-visibility:hidden;perspective:1000px;}
.faq-icon{position:relative;width:28px;height:28px;flex-shrink:0;border-radius:50%;}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;top:50%;left:50%;background:#0a0a0a;will-change:transform;transform:translate(-50%,-50%);backface-visibility:hidden;perspective:1000px;transition:.45s ease;}
.faq-icon::before{width:13px;height:1px;}
.faq-icon::after{width:1px;height:13px;}
.faq-answer{height:auto;opacity:1;}
.faq-answer[hidden]{display:none;}
.faq-answer p{padding:0 28px clamp(20px,1.5vw,28px) 0;font-size:clamp(16px,1vw,18px);line-height:1.6;}
.faq-question:focus-visible{outline:2px solid #a65b4f;outline-offset:4px;}
.faq-item.active .faq-icon::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg);}
.faq-item.active .faq-question{color:var(--primary);}



@media screen and (max-width:1400px){
	.main-bottom{display:none;}  
	.work-content b{display:none;}
	.main-visual .btit{font-size:4.5rem;line-height:.9;}
}
@media screen and (max-width:768px){ 
	.main-visual{height:300svh;}
	.main-title{height:100svh;padding-right:24px;padding-bottom:calc(88px + 5svh);padding-left:24px;}
	.main-shutter{height:100svh;}
	.main-visual .btit{font-size:3.25rem;line-height:.88;letter-spacing:-.07em;}
	.main-title .asp-growth-statement{font-variation-settings:"wght" 550;font-weight:550;}
	.work-grid {  grid-template-columns:auto; }  
	.work-content{  align-items: flex-start;}
	.work-content h3{width: 50%;} 
	.work-content b{width: 50%;}
	.work-block{  margin-top: 0;  grid-column: auto !important; position: relative; top: auto;}
	.work-block a{transform-origin: left top !important; transform:scale(1) !important;} 
	.work-grid:last-child{padding-bottom: 0;}
	.work-content {transform: translateY(0);opacity: 1;filter: blur(0);}
	.work-content:before { width: 100%; }
	.work-content b{margin-top: 0;}
	.work-section .btit{margin-bottom: 30px; position:relative; top:0;}
	.award-block{flex-direction:column;}
	.award-year{width: 100%; display: flex;   flex-direction: column; gap:10px;}
	.award-list{width: 100%;}
	.award-block:has(.award-label){margin-top: 30px;}
	.award-year .award-label{position:relative;}
	.award-year{text-align:left; width: 100%;}
	.award-block{gap:0; margin-top: 10px;} 
	.award-item:first-child{border-top:0;}

	.voice-section{height:auto;}
	.voice-expand{position:relative; }
	.voice-grid{width: 100%; height: auto; background: var(--beige); padding:40px 30px; border-radius:10px; gap:30px  ;  grid-template-columns: repeat(2, 1fr);         align-items: flex-start;}
	.voice-question br{display:none;}
	.voice-card{opacity:1; transform:translateY(0) scale(1);}
	.voice-grid.glass-noise .symbol{opacity:0;}
	.voice-grid.glass-noise:before{opacity:0;}
	.icon{ transform: scale(.8); transform-origin: left top;} 
	.info-card p{line-height: 1.1;}

	.faq-cont{  flex-direction: column;}
	.faq-head{width: 100%;}
	.faq-list{flex:auto;}
}

@media screen and (max-width:390px){
	.main-visual .btit{font-size:3rem;}
}

@media screen and (max-width:340px){
	.main-visual .btit{font-size:2.625rem;}
}

 
 


 
