@font-face{font-family:Precision Display;src:url(display.otf) format("opentype");font-style:normal;font-weight:700;font-display:swap}
:root{
  color-scheme:dark;
  --bg:#0b0a0e;--surface:#121016;--surface-high:#17131e;--ink:#f7f5fb;--muted:#b9b3c4;--faint:#9e95ac;
  --violet:#c398ff;--primary:#b583fb;--line:#2e2737;--header-height:105px;
  --display:"Precision Display","Arial Narrow","Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
button:not(:disabled){cursor:pointer}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #d6b5ff;outline-offset:4px}
::selection{color:#120b1b;background:#d7b6ff}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.02}
h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.029em}
h1 em,h2 em{font-style:normal;color:var(--violet)}
h2{font-size:clamp(2.55rem,4.65vw,5rem)}
h3{font-size:1.2rem;line-height:1.2;letter-spacing:-.027em}
p{color:var(--muted)}
p a{color:var(--violet);text-decoration:underline;text-underline-offset:.18em}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.section{padding-block:clamp(64px,8.3vw,120px)}
.icon{width:21px;height:21px;flex:none}
.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;top:12px;left:12px;z-index:30;padding:12px 16px;background:#d7b6ff;color:#120b1b;font-weight:750}
.kicker{
  display:flex;align-items:center;gap:10px;margin-bottom:15px;color:var(--violet);font:700 .68rem/1.4 system-ui,sans-serif;
  letter-spacing:.19em;text-transform:uppercase
}
.kicker>span{display:block;width:18px;height:1px;flex:none;background:var(--violet);box-shadow:0 0 10px #a052ffab}
.lead{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55;max-width:41ch}
.actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.button{
  display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:50px;padding:12px 17px;border:1px solid transparent;
  font-size:.84rem;font-weight:750;line-height:1.2;letter-spacing:-.01em;transition:background .22s,color .22s,border-color .22s,box-shadow .22s
}
.button .icon{width:17px;height:17px;transition:transform .22s}
.button:hover .icon{transform:translateX(2px)}
.button.primary{color:#10091a;background:var(--primary);border-color:var(--primary)}
.button.primary:hover{background:#d1afff;border-color:#d1afff;box-shadow:0 0 23px #ae65ff38}
.button.outline{color:var(--ink);background:#120e19a8;border-color:#665377}
.button.outline:hover{background:#231831;border-color:var(--violet)}
.button.quiet{color:var(--violet);padding-inline:0;justify-content:flex-start}
.button.quiet:hover{color:#e8d7ff}
.icon-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--surface)}
.icon-button:hover{background:#251935;border-color:var(--violet)}

.site-header{position:fixed;inset:0 0 auto;z-index:10;transition:transform .3s cubic-bezier(.22,.7,.2,1)}
.site-header.is-away:not(:has(:focus-visible)){transform:translateY(-110%)}
.announcement{background:#171023;border-bottom:1px solid #3a294a}
.announcement-inner{height:32px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.announcement a{display:inline-flex;align-items:center;gap:8px;font-size:.65rem;font-weight:710;letter-spacing:.1em;text-transform:uppercase;color:#e0ccfa}
.announcement a:hover{color:#fff}
.announcement .icon{width:13px;height:13px;color:var(--violet)}
.signal{width:6px;height:6px;border-radius:50%;background:#c798ff;box-shadow:0 0 9px #bb6cff;flex:none}
.navigation{background:#0d0b12f5;border-bottom:1px solid #31263c;backdrop-filter:blur(14px)}
.nav-inner{min-height:71px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;gap:9px;width:max-content;color:var(--ink);flex:none}
.brand img{width:40px;height:40px;flex:none}
.wordmark{display:grid;gap:4px;line-height:1}
.wordmark b{font-family:var(--display);font-size:1.31rem;letter-spacing:.015em}
.wordmark i{color:var(--violet);font-style:italic}
.wordmark small{font-size:.48rem;font-weight:720;letter-spacing:.16em;color:#bab2c7}
.nav-inner nav{display:flex;align-items:stretch;gap:clamp(14px,2.05vw,31px);align-self:stretch}
.nav-inner nav a{display:flex;align-items:center;position:relative;color:#c6becf;font-size:.8rem;font-weight:690;white-space:nowrap}
.nav-inner nav a:hover,.nav-inner nav a[aria-current]{color:#fff}
.nav-inner nav a[aria-current]::after{content:"";position:absolute;height:2px;inset:auto 0 0;background:var(--violet);box-shadow:0 0 10px #b879ff80}
.nav-book{min-height:42px;padding:9px 14px;white-space:nowrap}
.menu-toggle{display:none}
main{padding-top:var(--header-height)}

.hero{isolation:isolate;position:relative;display:grid;align-items:center;min-height:clamp(602px,50vw,780px);overflow:hidden;background:#09070e}
.hero-media,.hero-grid,.hero-sweep{position:absolute;inset:0;pointer-events:none}
.hero-media{
  z-index:-3;
  background-image:linear-gradient(90deg,#09070ff5 0%,#09070fc4 23%,#09070f36 45%,transparent 66%),linear-gradient(0deg,#09070ee8,transparent 25%),url(studio-hero.webp);
  background-position:center,center,center 56%;background-repeat:no-repeat;background-size:cover
}
.hero-grid{z-index:-2;inset:24px 26px;border:1px solid #bd9ee521;border-left-color:transparent;border-right-color:transparent}
.hero-grid::before,.hero-grid::after{content:"";position:absolute;width:19px;height:19px;border:1px solid #cba8ff7d}
.hero-grid::before{top:-1px;right:-1px;border-left:0;border-bottom:0}
.hero-grid::after{bottom:-1px;left:-1px;border-top:0;border-right:0}
.hero-sweep{
  z-index:-1;inset:24% 0 14% 34%;opacity:0;mix-blend-mode:screen;
  background:linear-gradient(110deg,transparent 36%,#7d42c600 44%,#ad67ff28 49%,#e0bdff43 50%,#8c46f72c 51%,transparent 57%);
  background-size:260% 100%;background-repeat:no-repeat;animation:polish-sweep 2.2s .45s ease-out 1
}
@keyframes polish-sweep{0%{opacity:0;background-position:104% 0}30%{opacity:1}100%{opacity:0;background-position:-18% 0}}
.hero-inner{padding-block:58px 76px}
.hero h1{
  width:max-content;max-width:100%;font-size:clamp(5.1rem,8.55vw,9.6rem);line-height:.81;letter-spacing:-.036em;
  text-transform:uppercase;text-shadow:0 6px 32px #08060d70
}
.hero h1 em{display:inline-block;color:#d0abff}
.hero .lead{margin-top:29px;max-width:34ch;color:#e0d8e8}
.hero .actions{margin-top:24px}
.hero-credit{position:absolute;right:max(32px,calc((100% - 1280px)/2));bottom:34px;color:#c5b9d1;font-size:.57rem;letter-spacing:.15em;text-transform:uppercase}

.service-rail{background:#14101c;border-block:1px solid #372944}
.rail-inner{display:grid;grid-template-columns:repeat(4,1fr)}
.rail-inner a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:63px;padding:10px 8px;color:#e5ddee;font-size:.73rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}
.rail-inner a+a{border-left:1px solid #372944}
.rail-inner a:hover{background:#221630}
.rail-inner .icon{color:var(--violet);width:19px;height:19px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 42px;margin-bottom:34px}
.section-head>p{max-width:37ch;font-size:.96rem}
.section-head .button{flex:none}
.service-cards,.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.service-card,.info-card{position:relative;overflow:hidden;padding:24px;background:var(--surface);border:1px solid var(--line)}
.service-card{display:flex;flex-direction:column;min-height:213px;transition:background .22s,border-color .22s}
.service-card:hover{background:#1c1427;border-color:#7d559f}
.service-symbol,.info-card>.icon{color:var(--violet)}
.service-symbol{display:grid;place-items:center;width:40px;height:40px;border:1px solid #4b3360;background:#21152c;margin-bottom:20px}
.service-card h3{padding-right:16px}
.service-card p,.info-card p{margin-top:10px;font-size:.91rem}
.card-arrow{position:absolute;right:15px;top:20px;color:var(--violet)}
.card-arrow .icon{width:17px;height:17px}
.gallery-section,.section-panel{background:#100d15;border-block:1px solid #261e30}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.project-card{min-width:0;background:var(--surface);border:1px solid var(--line)}
.project-open{display:block}
.project-image{position:relative;overflow:hidden;aspect-ratio:1.34;background:#1a1620}
.project-image img{height:100%;width:100%;object-fit:cover;object-position:center 56%;transition:transform .4s cubic-bezier(.2,.65,.25,1)}
.project-open:hover img{transform:scale(1.055)}
.project-zoom{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:35px;height:35px;background:#110e17ea;border:1px solid #bf9cfa73;color:#e0c6ff}
.project-zoom .icon{width:16px;height:16px}
.project-caption{min-height:61px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px}
.project-caption h3{font-size:1rem}
.project-caption>span{font-size:.64rem;font-weight:750;color:var(--violet);text-transform:uppercase;letter-spacing:.08em}
.tint-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(27px,6.5vw,100px)}
.tint-copy>p:not(.kicker),.about-copy>p:not(.kicker){margin-top:16px;max-width:45ch}
.tint-copy .button,.about-copy .button{margin-top:22px}
.tint-lab{
  --shade:.58;position:relative;min-width:0;padding:19px;background-color:#15101d;border:1px solid #51396a;
  background-image:linear-gradient(#a973e510 1px,transparent 1px),linear-gradient(90deg,#a973e510 1px,transparent 1px);background-size:22px 22px
}
.tint-lab[data-tone="light"]{--shade:.19}
.tint-lab[data-tone="deep"]{--shade:.87}
.lab-meta{display:flex;justify-content:space-between;gap:10px;font:750 .61rem/1.4 system-ui,sans-serif;letter-spacing:.14em;color:#e1c6ff}
.tint-diagram{display:block;width:100%;height:auto;margin:2px auto 1px}
.diagram-shade{opacity:var(--shade);transition:opacity .45s ease}
.shade-controls,.gallery-filters{display:flex;gap:7px;flex-wrap:wrap}
.shade-controls button,.gallery-filters button{min-height:44px;padding:8px 14px;background:#171120;border:1px solid #544265;color:#d6c9e2;font-size:.77rem;font-weight:700}
.shade-controls button:hover,.gallery-filters button:hover{border-color:var(--violet)}
.shade-controls button[aria-pressed="true"],.gallery-filters button[aria-pressed="true"]{background:#c79cff;color:#130b1d;border-color:#c79cff}
.lab-caption{margin-top:9px;color:#e3d5ef;font-size:.81rem}
.fine-print{font-size:.76rem;color:var(--faint)}
.lab-caption+.fine-print{margin-top:3px}

.closing{position:relative;overflow:hidden;border-block:1px solid #462e5a;background:radial-gradient(ellipse at 82% 15%,#2b1940,transparent 67%),#15101d}
.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:26px 40px;padding-block:clamp(52px,6.4vw,85px)}
.closing h2{font-size:clamp(2.5rem,4.1vw,4.25rem)}
.closing p:not(.kicker){margin-top:9px;max-width:60ch}
.closing .actions{flex:none}
.site-footer{background:#0a090d}
.footer-main{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:24px 40px;padding-block:50px 32px}
.footer-main p{margin-top:14px;font-size:.85rem;max-width:34ch}
.footer-main nav,.footer-contact{display:grid;align-content:start;justify-items:start;gap:10px}
.footer-main nav{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-main nav a,.footer-contact a{font-size:.82rem;color:#d6cede}
.footer-main nav a:hover,.footer-contact a:hover{color:var(--violet)}
.footer-contact a{display:inline-flex;gap:9px;align-items:center}
.footer-contact .icon{width:16px;height:16px;color:var(--violet)}
.footer-bottom{border-top:1px solid #292130;padding-block:13px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--faint);font-size:.75rem}
.footer-bottom button{border:1px solid transparent;background:transparent;color:#c9b6dc;min-height:44px;padding:5px 8px}
.footer-bottom button:hover{border-color:var(--line);color:#fff}

.page-intro{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 40%,#301d47 0%,transparent 58%),#121017;border-bottom:1px solid #3c2b49}
.page-intro::after{
  content:"";position:absolute;z-index:-1;inset:0 0 0 49%;opacity:.23;pointer-events:none;
  background:repeating-linear-gradient(131deg,transparent 0 52px,#a17bb540 53px 54px,transparent 55px 80px);
  mask-image:linear-gradient(90deg,transparent,#000)
}
.page-intro-inner{position:relative;padding-block:clamp(64px,8vw,126px)}
.page-intro h1{font-size:clamp(4rem,8.2vw,8.75rem);line-height:.88}
.page-intro .lead{margin-top:21px;color:#d5cddd;max-width:48ch}
.page-visual{position:absolute;z-index:-2;inset:0 0 0 48%;overflow:hidden}
.page-visual img{width:100%;height:100%;object-fit:cover;object-position:center 56%;filter:brightness(.72) saturate(.84)}
.page-visual span{position:absolute;inset:0;background:linear-gradient(90deg,#121017,transparent 55%),linear-gradient(0deg,#12101788,transparent 60%)}
.page-intro.with-image{background:#121017}
.page-intro.with-image h1{font-size:clamp(3.8rem,7.4vw,7.4rem)}
.service-list{display:grid;gap:clamp(40px,7.2vw,100px)}
.service-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5.8vw,86px);align-items:center}
.service-row:nth-of-type(even) .service-row-image{order:2}
.service-row-image{aspect-ratio:1.55;overflow:hidden;background:#1a1620;border:1px solid var(--line)}
.service-row-image img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.service-row-copy .row-summary{font-weight:680;color:#dfd4eb;margin-top:12px}
.service-row-copy p:not(.kicker){margin-top:11px}
.service-row-copy .button{margin-top:19px}
.secondary-section{padding-top:0}
.secondary-section h2{margin-bottom:24px}
.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.info-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.info-card>.icon{height:27px;width:27px;margin-bottom:15px}
.info-card h2{font-size:clamp(1.7rem,2.6vw,2.55rem);letter-spacing:-.02em}
.info-card .button{margin-top:12px}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(22px,7vw,100px)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;padding-block:17px;font-weight:720}
.faq summary::-webkit-details-marker{display:none}
.faq summary .icon{color:var(--violet);width:17px;height:17px;transition:transform .22s}
.faq details[open] summary .icon{transform:rotate(45deg)}
.faq details p{padding:0 20px 17px 0;font-size:.93rem}
.portfolio-section{padding-top:43px}
.gallery-filters{margin-bottom:22px}
.gallery-dialog{width:min(92vw,820px);max-height:92dvh;padding:0;border:1px solid #695381;background:#15101d;color:var(--ink)}
.gallery-dialog::backdrop{background:#06040be8}
.dialog-toolbar,.dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 16px}
.dialog-toolbar h2{font-size:clamp(1.45rem,3.4vw,2.35rem)}
.dialog-image{background:#08070b}
.dialog-image img{width:100%;height:min(63dvh,615px);object-fit:contain}
.dialog-controls p{text-align:center;font-size:.85rem}
.previous .icon{transform:rotate(180deg)}
.about-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(26px,7vw,110px)}
.badge-frame{display:grid;place-items:center;padding:clamp(15px,3vw,42px);border:1px solid #49325c;background:radial-gradient(ellipse,#241532,transparent 72%),#0e0b13}
.badge-frame img{width:min(100%,430px);mix-blend-mode:screen}
.section-panel .section-head{margin-bottom:0}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:20px;align-items:start}
.booking-card{padding:clamp(20px,3.5vw,44px);background:var(--surface);border:1px solid var(--line)}
.booking-card-heading h2{font-size:clamp(2.35rem,4vw,3.75rem)}
.booking-card-heading>p:not(.kicker){margin-top:7px;font-size:.86rem}
.booking-card form{display:grid;justify-items:start;gap:16px;margin-top:22px}
.form-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.booking-card label{display:block;width:100%;font-size:.83rem;font-weight:670;color:#ece4f5}
.booking-card label span{color:var(--violet)}
.booking-card label small{font-size:.75rem;color:var(--faint)}
.booking-card input,.booking-card select,.booking-card textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;margin-top:6px;padding:10px;background:#0c0a10;color:var(--ink);border:1px solid #4b3c58;border-radius:0;font-size:1rem}
.booking-card textarea{resize:vertical}
.booking-card input::placeholder,.booking-card textarea::placeholder{color:#a096ae}
.booking-aside{display:grid;gap:14px}
.request-preview{margin-top:22px;padding:17px;border:1px solid #6a4e84;background:#1c1427}
.message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:12px 15px}
.request-preview .fine-print{margin-top:7px}

@media (prefers-reduced-motion:no-preference){
  html:not(.motion-off) .reveal.reveal-pending{opacity:0;transform:translateY(16px)}
  html:not(.motion-off) .reveal{transition:opacity .53s ease,transform .53s ease}
}
html.motion-off *,html.motion-off *::before,html.motion-off *::after{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media (max-width:1100px){
  .wrap{width:calc(100% - 72px)}
  .nav-inner{gap:12px}
  .nav-inner nav{gap:15px}
  .service-card,.info-card{padding:19px}
  .closing .actions{max-width:230px}
}
@media (max-width:840px){
  :root{--header-height:97px}
  .wrap{width:calc(100% - 48px)}
  .nav-inner{min-height:63px;justify-content:flex-start;gap:10px}
  .nav-book{margin-left:auto}
  .menu-toggle{display:none}
  .js .menu-toggle{display:inline-grid}
  .js .nav-inner nav:not(.is-open){display:none}
  .nav-inner nav{flex-wrap:wrap;gap:11px}
  .js .nav-inner nav{
    position:absolute;top:100%;inset-inline:0;display:grid;gap:0;background:#110d17;
    padding:4px 24px 13px;border-bottom:1px solid #574066;box-shadow:0 20px 25px #07050bc9
  }
  .js .nav-inner nav a{min-height:44px;padding-inline:10px;border-bottom:1px solid #33273e}
  .js .nav-inner nav a[aria-current]::after{width:2px;height:22px;inset:50% auto auto 0;transform:translateY(-50%)}
  html:not(.js) .site-header{position:relative}
  html:not(.js) main{padding-top:0}
  .hero{min-height:590px}
  .hero h1{font-size:clamp(4.4rem,10vw,6.5rem)}
  .section-head{margin-bottom:25px}
  .service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card{min-height:175px}
  .projects-grid{gap:12px}
  .project-caption{align-items:flex-start;flex-direction:column;gap:5px;padding:11px}
  .tint-feature{gap:26px}
  .closing-inner{gap:20px}
  .footer-main{grid-template-columns:1.15fr .85fr 1fr;gap:18px}
}
@media (max-width:610px){
  .wrap{width:calc(100% - 34px)}
  .section{padding-block:54px}
  .announcement-inner{justify-content:center}
  .announcement .announce-phone{display:none}
  .announcement a{font-size:.56rem;letter-spacing:.075em}
  .nav-inner{gap:7px}
  .brand{gap:6px}
  .brand img{width:32px;height:32px}
  .wordmark{gap:3px}
  .wordmark b{font-size:1.08rem}
  .wordmark small{font-size:.41rem;letter-spacing:.105em}
  .nav-book{padding:8px 9px;gap:5px;font-size:.72rem}
  .nav-book .icon{width:13px;height:13px}
  .menu-toggle{min-width:40px}
  .hero{min-height:auto}
  .hero-inner{padding-top:42px;padding-bottom:49px}
  .hero h1{font-size:clamp(3.95rem,13.4vw,6rem)}
  .hero .kicker{font-size:.59rem;margin-bottom:15px}
  .hero-media{
    top:137px;height:clamp(290px,81vw,490px);bottom:auto;
    background-image:linear-gradient(180deg,#09070e 0%,#09070e00 30%,#09070e00 63%,#09070e 98%),url(studio-hero-mobile.webp);
    background-position:center,center;background-size:cover
  }
  .hero-grid{inset:12px 8px;border-color:#bd9ee514}
  .hero-grid::before,.hero-grid::after{display:none}
  .hero-sweep{inset:29% 0 24% 5%}
  .hero .lead{margin-top:clamp(155px,47vw,292px);max-width:38ch;font-size:.97rem}
  .hero .actions{margin-top:17px;gap:8px}
  .hero .actions .button{min-height:47px;padding-inline:11px;gap:7px;font-size:.76rem}
  .hero-credit{right:17px;bottom:15px;font-size:.51rem}
  .rail-inner{grid-template-columns:repeat(2,1fr)}
  .rail-inner a{justify-content:flex-start;min-height:46px;font-size:.63rem;letter-spacing:.035em;gap:7px;padding-inline:8px}
  .rail-inner a:nth-child(3){border-left:0}
  .rail-inner a:nth-child(n+3){border-top:1px solid #372944}
  .rail-inner .icon{width:16px;height:16px}
  .section-head{align-items:flex-start;flex-direction:column;gap:14px}
  .section-head>p{font-size:.91rem}
  .service-cards{gap:8px}
  .service-card{padding:13px;min-height:155px}
  .service-card h3{font-size:1rem;padding-right:0}
  .service-card p,.info-card p{font-size:.83rem}
  .service-symbol{margin-bottom:12px;width:33px;height:33px}
  .service-symbol .icon{width:17px;height:17px}
  .card-arrow{top:13px;right:10px}
  .card-arrow .icon{width:14px;height:14px}
  .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .project-caption h3{font-size:.88rem}
  .project-caption>span{font-size:.58rem}
  .project-zoom{bottom:7px;right:7px;width:27px;height:27px}
  .project-zoom .icon{width:13px;height:13px}
  .tint-feature,.faq-layout,.about-layout,.booking-layout,.service-row{grid-template-columns:minmax(0,1fr);gap:24px}
  .tint-lab{padding:12px}
  .closing-inner{flex-direction:column;align-items:flex-start}
  .closing .actions{max-width:none}
  .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 12px;padding-top:34px}
  .footer-main>div:first-child{grid-column:1/-1}
  .footer-main nav{grid-template-columns:minmax(0,1fr)}
  .page-intro-inner{padding-block:62px 54px}
  .page-intro h1,.page-intro.with-image h1{font-size:clamp(3.25rem,11.3vw,5.25rem)}
  .page-intro .lead{margin-top:16px;font-size:.96rem}
  .page-visual{left:23%}
  .page-visual img{filter:brightness(.47) saturate(.75)}
  .service-row:nth-of-type(even) .service-row-image{order:0}
  .service-row-image{aspect-ratio:1.6}
  .secondary-section{padding-top:0}
  .info-grid.three{grid-template-columns:minmax(0,1fr);gap:9px}
  .portfolio-section{padding-top:26px}
  .gallery-filters{margin-bottom:14px}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .booking-card .actions{gap:6px}
}
@media (max-width:355px){
  .wrap{width:calc(100% - 26px)}
  .hero h1{font-size:clamp(3.2rem,16vw,3.65rem)}
  .hero .actions{gap:6px}
  .button{padding-inline:10px;gap:6px;font-size:.76rem}
  .announcement a{font-size:.5rem;letter-spacing:.05em}
  .brand img{width:27px;height:27px}
  .wordmark b{font-size:.88rem}
  .wordmark small{font-size:.34rem;letter-spacing:.07em}
  .nav-book{padding-inline:7px;font-size:.68rem}
  .menu-toggle{min-width:44px}
  .nav-inner{gap:5px}
}
