/* Full-site art direction: clear hierarchy, visible services and luminous peak artwork. */
:root{--header-height:84px}
.site-header .brand img{width:224px}
.desktop-nav{gap:34px;margin-left:0;font-size:15px}
.header-cta{min-height:48px;padding:13px 22px;font-size:14px}
.hero{min-height:clamp(600px,48.5vw,760px);background:#00152f}
.hero-art{inset:0 -2% -5%;mask-image:linear-gradient(to bottom,transparent,#000 65px)}
.hero-art picture{padding-top:32px}
.hero-content{padding-top:clamp(54px,5vw,76px);padding-bottom:28px}
.hero h1{font-size:clamp(88px,9.65vw,155px);max-width:820px;line-height:.97}
.hero p{font-size:clamp(19px,1.62vw,25px);max-width:490px;line-height:1.5;margin-top:25px}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:28px;margin-bottom:66px}
.hero-cta{margin:0;font-size:15px}
.hero-talk{display:flex;align-items:center;gap:13px;padding-block:12px;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:8px;text-decoration-color:#ffffff80}
.hero-talk:hover{color:#e4bdff}
.hero-talk .icon{width:21px;height:21px}
.hero-principles{font-size:10px;letter-spacing:.15em;gap:24px;padding-top:18px}
.intro{padding-block:72px 48px;gap:9%;grid-template-columns:1.1fr 1fr}
.intro h2{font-size:clamp(44px,4.2vw,64px)}
.intro p{font-size:18px;padding-left:38px;line-height:1.7;max-width:560px}
.experience-band{padding-bottom:76px}
.experience-fact strong{font-size:56px}
.experience-fact span,.experience-markets{font-size:13px}
.experience-markets{gap:24px}
.services-section{padding-bottom:90px}
.studio{display:block;min-height:0;padding-block:76px;background:var(--cloud)}
.studio-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:30px;row-gap:48px;position:relative}
.studio-story{position:relative;z-index:1;align-self:center;padding-bottom:8px}
.studio h2{font-size:clamp(48px,5.2vw,80px);max-width:none;margin-top:32px}
.studio-copy{font-size:18px;line-height:1.7;max-width:560px;margin-top:26px}
.studio-markets{font-size:13px;font-weight:500;margin-top:24px;color:var(--blue)}
.studio-art{position:relative;inset:auto;width:auto;min-width:0;align-self:stretch;overflow:hidden;transform:none;opacity:1;z-index:0;min-height:420px;margin-right:calc(-1 * var(--gutter));mask-image:linear-gradient(90deg,transparent,#000 18%),linear-gradient(to bottom,#000 77%,transparent);mask-composite:intersect}
.studio-art img{position:absolute;max-width:none;width:110%;height:auto;left:-9%;top:-30px;transform:none}
.studio-principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;border-top:1px solid #001d3629;padding-top:30px}
.studio-principles h3{font-size:24px;letter-spacing:-.03em}
.studio-principles p{font-size:15px;color:var(--muted);line-height:1.7;max-width:360px;margin-top:13px}
.clients-section{padding-top:88px;padding-bottom:88px}
.clients-heading{margin-bottom:32px;gap:50px}
.clients-heading h2{font-size:clamp(42px,4.35vw,66px)}
.client-gallery{row-gap:6px}
.client-gallery li{min-height:103px;padding:18px 20px}
.client-gallery img{max-height:67px}
.frost-clients{margin-top:38px;padding-top:32px}
.frost-clients h3{font-size:26px;margin-bottom:16px}
.client-gallery-frost li{min-height:108px;padding:18px}
.client-gallery-frost img{max-height:76px}
.contact{padding-block:76px 82px;min-height:0}
.contact-content{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:7%;row-gap:32px;align-items:center}
.contact h2{font-size:clamp(56px,6.1vw,94px);line-height:1.02;letter-spacing:-.05em;margin:0}
.contact-description{font-size:18px;color:#dce2ed;line-height:1.7;margin-top:24px}
.contact .button{margin-top:28px;min-width:0;font-size:15px;gap:25px}
.contact-note{font-size:12px;color:#bdc9db;margin-top:17px;max-width:none;line-height:1.6}
.contact-phones{border:0;margin:0;gap:17px}
.contact-phone{border:1px solid #ffffff35;border-radius:14px;padding:23px 25px;background:#001d3640}
.contact-phone>span{font-size:10px;letter-spacing:.13em;color:#bbc9df;margin-bottom:14px}
.contact-phone a{font-size:clamp(24px,2.5vw,38px);gap:18px}
.contact-phone .icon{width:22px;height:22px;color:#b2bcff}
.contact-market-note{font-size:12px;margin:2px 0 0;color:#bdc9db}
.contact-market-note a{color:white;text-decoration:underline;text-underline-offset:4px}
.contact-market-note a:hover{color:var(--lilac)}
.planner-description a{color:var(--blue);overflow-wrap:anywhere}
.brief-send{display:flex;align-items:center;gap:22px;margin-top:26px}
.brief-send .button{flex:none}
.brief-send p,.brief-backup{font-size:13px;line-height:1.6;color:var(--muted)}
.brief-backup{margin-top:18px;max-width:620px;overflow-wrap:anywhere}
.contact-art{width:90%;height:auto;right:-12%;bottom:-24%;opacity:.2;mask-image:linear-gradient(90deg,transparent,#000 65%);object-fit:contain}
.contact a:focus-visible,.contact button:focus-visible,.hero a:focus-visible{outline-color:var(--lilac)}
.site-footer{padding-block:43px 26px;background:var(--cloud)}
.footer-inner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:32px}
.footer-brand .brand img{width:212px}
.footer-brand p{font-size:11px;color:var(--muted);margin-top:13px;letter-spacing:.04em}
.site-footer nav{padding:0;border:0;margin:0;display:flex;gap:26px;font-size:13px}
.site-footer nav a:hover,.back-top:hover{color:var(--blue)}
.back-top{font-size:12px;gap:12px}
.back-top .icon{width:18px;height:18px}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #001d361f;padding-top:20px;color:var(--muted);font-size:11px}
.site-footer small{font-size:inherit;margin:0;text-align:left}
.field-error{display:block;color:#a61d41;font-size:12px;font-weight:400;line-height:1.5;margin-top:7px}
.mobile-menu a[aria-current=location]{color:var(--blue)}
@media(min-width:761px) and (max-width:1100px){
  .desktop-nav{gap:23px;font-size:14px}
  .site-header .brand img{width:205px}
  .hero{min-height:640px}
  .hero h1{font-size:10.2vw}
  .hero p{max-width:420px;font-size:19px}
  .hero-art{inset:0;mask-image:none}
  .hero-art picture{padding-top:0}
  .hero-art img{position:absolute;width:min(98vw,900px);height:auto;right:-12%;bottom:-140px;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 9%)}
  .hero-actions{gap:25px}
  .hero-principles{font-size:9px;letter-spacing:.1em}
  .studio-content{grid-template-columns:1.2fr 1fr;gap:34px 20px}
  .studio h2{font-size:5.5vw}
  .studio-copy{font-size:16px}
  .studio-art{min-height:380px}
  .studio-principles{gap:28px}
  .studio-principles h3{font-size:22px}
  .studio-principles p{font-size:14px}
  .client-gallery li{padding:18px;min-height:98px}
  .contact-content{gap:32px 5%}
  .contact h2{font-size:6.3vw}
  .contact-phone{padding:21px 18px}
  .contact-phone a{font-size:2.6vw}
  .footer-inner{grid-template-columns:1fr auto}
  .back-top{grid-column:2;grid-row:2;justify-self:end}
  .footer-bottom{grid-row:3}
}
@media(max-width:760px){
  :root{--header-height:76px}
  .site-header .brand img{width:195px}
  .mobile-menu:not([hidden]){max-height:calc(100dvh - 76px);overflow:auto}
  .hero{min-height:770px}
  .hero-art{inset:0;mask-image:none}
  .hero-art picture{padding-top:0}
  .hero-content{padding-top:49px;padding-bottom:24px}
  .hero h1{font-size:clamp(53px,16.2vw,103px);line-height:.98}
  .hero p{font-size:17px;max-width:340px;margin-top:24px;line-height:1.6}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:10px;margin-top:25px;margin-bottom:260px}
  .hero-cta{font-size:14px}
  .hero-talk{font-size:14px;gap:10px}
  .hero-talk .icon{width:19px;height:19px}
  .hero-art img{width:132%;right:-12%;bottom:12px;mask-image:linear-gradient(to bottom,transparent 7%,#000 23%)}
  .hero-principles{display:grid;grid-template-columns:1fr 1fr;gap:7px 15px;font-size:8px;letter-spacing:.08em;line-height:1.6;padding-top:15px}
  .hero-principles span:last-child{grid-column:1/-1}
  .intro{padding-block:55px 30px;grid-template-columns:1fr;gap:24px}
  .intro h2{font-size:42px}
  .intro p{border:0;padding:0;font-size:16px;max-width:500px}
  .experience-band{padding-bottom:58px;gap:22px}
  .experience-fact strong{font-size:48px}
  .experience-fact span,.experience-markets{font-size:12px}
  .experience-markets{gap:18px}
  .services-section{padding-bottom:65px}
  .studio{padding-block:55px}
  .studio-content{grid-template-columns:1fr;gap:0}
  .studio-story{padding:0}
  .studio h2{font-size:clamp(43px,8.5vw,60px);margin-top:29px}
  .studio-copy{font-size:16px;margin-top:23px}
  .studio-markets{font-size:12px;margin-top:21px}
  .studio-art{min-height:275px;width:calc(100% + var(--gutter));margin-top:5px;overflow:hidden}
  .studio-art img{width:105%;left:0;top:-12px;transform:none}
  .studio-principles{grid-template-columns:1fr;gap:25px;margin-top:6px;padding-top:27px}
  .studio-principles h3{font-size:23px}
  .studio-principles p{font-size:14px;margin-top:9px;max-width:460px}
  .clients-section{padding-top:61px;padding-bottom:58px}
  .clients-heading{margin-bottom:28px}
  .clients-heading h2{font-size:clamp(33px,7vw,46px)}
  .client-gallery{row-gap:4px}
  .client-gallery li{min-height:89px;padding:15px 11px}
  .client-gallery img{max-height:60px}
  .frost-clients{padding-top:28px;margin-top:31px}
  .frost-clients h3{font-size:23px;margin-bottom:16px}
  .client-gallery-frost li{min-height:100px;padding:15px 18px}
  .client-gallery-frost img{max-height:65px}
  .contact{padding-block:58px}
  .contact-content{display:block}
  .contact h2{font-size:clamp(44px,10vw,68px);margin-top:30px}
  .contact-description{font-size:16px;margin-top:23px}
  .contact .button{font-size:14px;min-height:52px;margin-top:26px}
  .contact-note{font-size:12px;max-width:285px}
  .contact-phones{margin-top:39px;gap:15px}
  .contact-phone{padding:22px}
  .contact-phone a{font-size:clamp(23px,6.9vw,35px)}
  .contact-phone .icon{width:20px;height:20px}
  .contact-art{width:170%;height:auto;right:-50%;bottom:-8%;opacity:.2}
  .contact-market-note{font-size:12px}
  .brief-send{flex-direction:column;align-items:flex-start;gap:13px;margin-top:22px}
  .brief-send .button{width:100%;font-size:14px}
  .brief-send p,.brief-backup{font-size:12px}
  .site-footer{padding-block:34px 23px}
  .footer-inner{grid-template-columns:1fr;gap:26px}
  .footer-brand .brand img{width:205px}
  .site-footer nav{grid-column:auto;gap:13px 22px;flex-wrap:wrap;font-size:13px}
  .back-top{grid-column:auto;justify-self:start}
  .footer-bottom{gap:16px;flex-wrap:wrap;padding-top:19px;font-size:10px}
}
@media(max-width:359px){
  .site-header .brand img{width:179px}
  .hero{min-height:790px}
  .hero p{font-size:16px}
  .hero-actions{margin-bottom:250px}
  .hero-principles{font-size:7px}
  .studio h2{font-size:40px}
  .studio-art{min-height:240px}
  .contact-phone{padding:19px 17px}
}
@media(prefers-reduced-motion:reduce){.hero-actions,.hero-talk{animation:none;transition:none}}
