/* 14islands Cothink sample — a white editorial gallery: scale, air, ink, and moving media carry the hierarchy. */
:root{--paper:#fff;--ink:#070707;--fog:#f2f2f2;--stone:#a2a2a9;--graphite:#68686b;--hairline:rgba(7,7,7,.15);--display:"Fraunces",Georgia,serif;--body:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{min-width:320px;margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.35}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 12px;background:var(--ink);color:var(--paper);font:12px var(--mono);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;z-index:50;top:0;right:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:26px 32px;transition:background .28s var(--ease-out),padding .28s var(--ease-out),border-color .28s var(--ease-out);border-bottom:1px solid transparent}.site-header.is-scrolled{padding-top:16px;padding-bottom:16px;background:rgba(255,255,255,.92);border-color:var(--hairline);backdrop-filter:blur(12px)}.wordmark{display:inline-flex;align-items:baseline;width:max-content;font-size:20px;line-height:1;letter-spacing:-.08em}.wordmark strong{font-weight:500}.wordmark em{font-style:normal;font-weight:400}.wordmark i{width:.25em;color:var(--ink);font-style:normal}.desktop-nav{display:flex;gap:27px;font-size:13px;letter-spacing:-.02em}.desktop-nav a,.contact-link{position:relative}.desktop-nav a:after,.contact-link:after{position:absolute;right:0;bottom:-5px;left:0;height:1px;background:var(--ink);content:"";transform:scaleX(0);transform-origin:right;transition:transform .22s var(--ease-out)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after,.contact-link:hover:after,.contact-link:focus-visible:after{transform:scaleX(1);transform-origin:left}.contact-link{justify-self:end;font-size:13px}.menu-trigger{display:none;justify-self:end;width:42px;height:28px;border:0;background:transparent;color:var(--ink);cursor:pointer}.menu-trigger span{display:block;width:26px;height:1px;margin:6px 0;background:currentColor;transition:transform .25s var(--ease-out),opacity .2s}.menu-trigger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-trigger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu-trigger[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu{position:fixed;z-index:40;inset:0;display:grid;align-content:end;padding:96px 28px 38px;background:var(--paper);clip-path:inset(0 0 100% 0);pointer-events:none;transition:clip-path .58s var(--ease-in-out)}.mobile-menu.is-open{clip-path:inset(0);pointer-events:auto}.mobile-menu span{margin-bottom:26px;color:var(--stone);font:11px var(--mono);letter-spacing:.06em}.mobile-menu nav{display:grid;border-top:1px solid var(--ink)}.mobile-menu a{padding:15px 0;border-bottom:1px solid var(--hairline);font:clamp(38px,11vw,58px)/.95 var(--display);letter-spacing:-.06em;opacity:0;transform:translateY(18px);transition:opacity .36s var(--ease-out),transform .36s var(--ease-out)}.mobile-menu.is-open a{opacity:1;transform:none}.mobile-menu.is-open a:nth-child(2){transition-delay:.05s}.mobile-menu.is-open a:nth-child(3){transition-delay:.1s}.mobile-menu.is-open a:nth-child(4){transition-delay:.15s}.mobile-menu.is-open a:nth-child(5){transition-delay:.2s}.mobile-menu.is-open a:nth-child(6){transition-delay:.25s}
.hero{position:relative;display:grid;grid-template-rows:minmax(90svh,920px) auto;overflow:hidden}.hero-top{position:relative;display:grid;grid-template-columns:1fr minmax(300px,33vw);align-items:center;padding:140px 32px 42px}.hero-intro{align-self:center;max-width:330px;justify-self:end}.eyebrow{margin:0 0 10px;color:var(--stone);font:11px/1.2 var(--mono);letter-spacing:.02em;text-transform:uppercase}.hero-intro p:last-child{max-width:28ch;margin:0;font-size:16px;line-height:1.24}.hero-display{position:absolute;right:27px;bottom:20px;left:27px;margin:0;font:clamp(92px,14.1vw,220px)/.77 var(--display);letter-spacing:-.075em;pointer-events:none}.hero-display .quiet{color:var(--stone)}.motion-field{position:relative;min-height:clamp(470px,56vw,890px);overflow:hidden;background:var(--ink)}.motion-field canvas{display:block;width:100%;height:100%;cursor:crosshair}.motion-meta{position:absolute;z-index:2;right:32px;bottom:25px;left:32px;display:flex;justify-content:space-between;color:rgba(255,255,255,.76);font:11px var(--mono);letter-spacing:.02em;pointer-events:none}
.intro-block{display:grid;grid-template-columns:1fr 1fr;gap:32px;min-height:710px;padding:170px 32px 140px}.intro-block h2{align-self:end;max-width:8ch;margin:0;font:clamp(62px,9vw,138px)/.8 var(--display);letter-spacing:-.07em}.intro-block h2 span{color:var(--stone)}.intro-side{align-self:end;max-width:340px}.intro-side p{margin:0 0 22px;font-size:16px;line-height:1.3}.text-link{display:inline-flex;align-items:center;gap:9px;padding-bottom:4px;border-bottom:1px solid var(--ink);font:12px var(--mono);letter-spacing:.01em}.text-link .bar{width:20px;height:1px;background:currentColor;transition:width .24s var(--ease-out)}.text-link:hover .bar{width:34px}
.work-section{padding:0 32px 180px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:82px 11px}.work-card{display:block}.work-card:nth-child(even){margin-top:152px}.work-card-visual{position:relative;overflow:hidden;aspect-ratio:1.36;background:var(--fog)}.work-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-in-out),filter .48s var(--ease-out)}.work-card:hover img,.work-card:focus-visible img{transform:scale(1.055);filter:contrast(1.04)}.work-card .work-mark{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.8);border-radius:50%;color:#fff;font:12px var(--mono);opacity:0;transform:scale(.86);transition:opacity .22s var(--ease-out),transform .32s var(--ease-out)}.work-card:hover .work-mark,.work-card:focus-visible .work-mark{opacity:1;transform:none}.work-card figcaption{padding-top:14px;font-size:clamp(29px,2.3vw,40px);line-height:.95;letter-spacing:-.055em}.work-card figcaption span{color:var(--stone);font:16px var(--body);letter-spacing:-.02em}.work-card[data-tone="ink"] .work-card-visual{background:var(--ink)}.work-card[data-tone="fog"] .work-card-visual{background:var(--fog)}
.statement{display:grid;min-height:88svh;padding:100px 32px;background:var(--fog)}.statement h2{align-self:center;max-width:13ch;margin:0;font:clamp(66px,9.6vw,150px)/.78 var(--display);letter-spacing:-.075em}.statement h2 span{color:var(--stone)}.service-field{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:150px 32px 185px}.service-card{min-height:460px;padding:22px;border-top:1px solid var(--ink);background:var(--paper)}.service-card p{max-width:25ch;margin:0;color:var(--graphite);font-size:16px;line-height:1.25}.service-card h3{max-width:10ch;margin:180px 0 0;font:clamp(52px,6vw,90px)/.8 var(--display);letter-spacing:-.07em}.service-card:nth-child(2){margin-top:160px}.service-card h3 span{color:var(--stone)}
.culture-banner{position:relative;min-height:clamp(530px,70svh,850px);overflow:hidden;background:var(--ink);color:var(--paper)}.culture-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.64;filter:grayscale(1) contrast(1.08)}.culture-banner:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,7,.68),transparent 65%);content:""}.culture-copy{position:relative;z-index:1;display:grid;align-content:end;min-height:inherit;padding:42px 32px}.culture-copy h2{max-width:10ch;margin:0;font:clamp(68px,10vw,155px)/.78 var(--display);letter-spacing:-.08em}.culture-copy p{max-width:290px;margin:20px 0 0;line-height:1.35}.culture-copy .text-link{margin-top:30px;width:max-content;border-color:var(--paper)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:130px 32px;background:var(--paper)}.contact h2{margin:0;font:clamp(66px,9vw,142px)/.78 var(--display);letter-spacing:-.08em}.contact h2 span{color:var(--stone)}.contact-side{align-self:end}.contact-side p{max-width:28ch;margin:0 0 26px;font-size:17px;line-height:1.3}.contact-address{display:grid;gap:7px;border-top:1px solid var(--ink);padding-top:16px;font:16px var(--body)}.contact-address a{width:max-content;border-bottom:1px solid var(--ink)}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:50px;padding:52px 32px 25px;background:var(--ink);color:var(--paper)}.footer-brand{font-size:26px}.footer-copy{max-width:390px;margin:36px 0 0;color:#c4c4c4;font-size:14px;line-height:1.35}.footer-links{display:grid;align-content:start;gap:8px;color:#d2d2d2;font:12px var(--mono)}.footer-links a{width:max-content}.footer-links a:hover{text-decoration:underline}.footer-meta{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:36px;border-top:1px solid rgba(255,255,255,.2);color:#8b8b8b;font:10px var(--mono)}
.subpage{min-height:100svh;padding:170px 32px 80px}.subpage-eyebrow{color:var(--stone);font:11px var(--mono);text-transform:uppercase}.subpage h1{max-width:12ch;margin:75px 0;font:clamp(70px,12vw,180px)/.8 var(--display);letter-spacing:-.08em}.subpage h1 span{color:var(--stone)}.subpage p{max-width:42ch;font-size:18px;line-height:1.35}.route-list{display:grid;max-width:760px;margin-top:100px;border-top:1px solid var(--ink)}.route-list a{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--hairline);font:clamp(25px,3vw,42px)/1 var(--display);letter-spacing:-.05em}.route-list span{color:var(--stone);font:12px var(--mono)}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}[data-reveal].is-visible{opacity:1;transform:none}[data-reveal-delay="1"]{transition-delay:.1s}[data-reveal-delay="2"]{transition-delay:.2s}body.is-ready .hero-intro,body.is-ready .hero-display{animation:hero-in .8s var(--ease-out) both}@keyframes hero-in{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto;padding:19px 20px}.site-header.is-scrolled{padding-top:13px;padding-bottom:13px}.wordmark{font-size:19px}.desktop-nav,.contact-link{display:none}.menu-trigger{display:block}.hero{grid-template-rows:auto auto}.hero-top{display:block;min-height:650px;padding:130px 20px 28px}.hero-intro{max-width:260px;margin:0 0 0 auto}.hero-intro p:last-child{font-size:14px}.hero-display{right:18px;bottom:22px;left:18px;font-size:clamp(70px,19.5vw,106px);line-height:.79}.motion-field{min-height:480px}.motion-meta{right:20px;bottom:18px;left:20px;font-size:9px}.intro-block{grid-template-columns:1fr;min-height:0;gap:60px;padding:105px 20px}.intro-block h2{max-width:9ch;font-size:clamp(57px,16.5vw,82px)}.intro-side{max-width:290px}.work-section{padding:0 20px 100px}.work-grid{grid-template-columns:1fr;gap:60px}.work-card:nth-child(even){margin-top:0}.work-card figcaption{padding-top:12px;font-size:31px}.work-card figcaption span{font-size:14px}.statement{min-height:64svh;padding:90px 20px}.statement h2{font-size:clamp(58px,16.5vw,82px)}.service-field{grid-template-columns:1fr;padding:90px 20px 110px}.service-card{min-height:340px}.service-card h3{margin-top:105px;font-size:61px}.service-card:nth-child(2){margin-top:0}.culture-copy{padding:28px 20px}.culture-copy h2{font-size:clamp(59px,17vw,88px)}.contact{grid-template-columns:1fr;gap:70px;padding:100px 20px}.contact h2{font-size:clamp(63px,17vw,90px)}.site-footer{grid-template-columns:1fr;padding:42px 20px 18px}.footer-meta{display:grid;gap:9px}.subpage{padding:130px 20px 60px}.subpage h1{margin:55px 0;font-size:clamp(67px,17.5vw,94px)}.route-list{margin-top:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-field canvas{display:none}.motion-field{background:linear-gradient(135deg,#171717,#444)}[data-reveal]{opacity:1;transform:none}}
