
:root{--ink:#20211f;--paper:#f3f3ef;--sky:#c9e3f4;--line:#c9cbc5;--yellow:#c9e3f4;--lemon:#c9e3f4;box-sizing:border-box}*{box-sizing:inherit}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;line-height:1.65;word-break:keep-all}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #2174aa;outline-offset:5px}button,a,input,textarea{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.15}button{cursor:pointer}.wrap{width:min(1440px,92%);margin:auto}.site-header{width:92%;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:14px;align-items:baseline;font-weight:800;font-size:25px;letter-spacing:-1.5px}.brand span{font-size:10px;letter-spacing:1px}nav{display:flex;gap:30px;font-size:13px;align-items:center}.nav-contact{border-bottom:1px solid;padding:8px 0}a:hover{color:#347295}.hero{padding:45px 0 58px}.eyebrow{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px}.hero h1{padding-right:1.25em;font-size:clamp(70px,10.8vw,166px);font-weight:700;letter-spacing:-.085em;line-height:1.05;margin:65px 0 48px;position:relative}.hero h1>span{color:#737872}.hero-arrow{position:absolute;right:2%;bottom:5%;font-size:clamp(85px,15vw,210px);font-weight:400;line-height:1;color:#407ba1}.hero-bottom{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:end;font-size:14px}.hero-bottom p:first-child{font-size:21px;line-height:1.45;font-weight:600}.text-link{display:inline-block;border-bottom:1px solid;padding:8px 0;font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 36px;padding-top:35px;border-top:1px solid var(--line);gap:20px}h2{font-size:clamp(30px,4vw,58px);font-weight:500;letter-spacing:-.05em}.section-heading h2 span{display:block;font-size:12px;letter-spacing:0;margin-top:14px;color:#656b63}.projects{display:grid;grid-template-columns:1fr 1fr;gap:60px 28px}.project:first-child{grid-column:1/-1}.slide-img{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e5e6df;aspect-ratio:1.5;padding:24px}.project:first-child .slide-img{aspect-ratio:2.05;background:#242925;padding:0}.slide-img img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.slide-img:hover img{transform:scale(1.025)}.project figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;position:relative;padding-top:18px}.project figcaption h3,.project figcaption .desc{grid-column:1/-1}.project-index{font-size:10px;letter-spacing:1px;color:#686e65}.meta{float:none;justify-self:end;grid-column:2;grid-row:1;font-size:11px;display:flex;gap:10px}.project h3{font-size:25px;margin-top:10px;letter-spacing:-.04em}.desc{font-size:13px;color:#62665e;margin-top:8px}.rights{font-size:11px;color:#71756e;margin:36px 0 70px}.sheet{border-top:1px solid var(--line);padding-bottom:80px}.section-label{padding:26px 0 48px;font-size:11px;letter-spacing:1px}.sheet>.wrap:not(.section-label){padding:0}.sheet h2{margin-bottom:20px}.sheet p{max-width:56em}.cards{margin-top:50px;counter-reset:service}.card{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px 0;border-top:1px solid var(--line);counter-increment:service}.card h3{font-size:30px;font-weight:500;letter-spacing:-.04em}.card h3:before{content:'0' counter(service);font-size:11px;vertical-align:top;margin-right:30px;letter-spacing:0}.card p{font-size:15px;color:#64685f}.local{margin-top:40px}.points{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.points li{font-size:14px;border-top:1px solid var(--line);padding-top:22px}.points b{display:block;font-size:21px;margin-bottom:12px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;padding:0;list-style:none;margin:45px 0 0}.n{display:block;border-top:1px solid var(--line);padding:12px 0 35px;font-size:12px}.step h3{font-size:26px;margin-bottom:15px;font-weight:500}.step p,.member p{font-size:14px;color:#64685f}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.member{border-top:1px solid var(--line);padding-top:20px}.av{width:90px;height:90px;margin-bottom:25px}.member h3{font-size:24px}.role{font-size:11px;display:block;margin:10px 0 20px}.contact{background:#c9e3f4}.contact h2{white-space:pre-line}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:50px}.ways{display:flex;flex-direction:column;gap:20px}.way{font-size:clamp(13px,1.6vw,22px);overflow-wrap:anywhere;display:flex;gap:15px}.way small{display:block;font-size:11px;margin-top:5px}.ic{display:none}.inq{display:grid;gap:20px}.inq h3{font-size:18px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inq label{display:block;font-size:12px}.inq input:not([type=checkbox]),.inq textarea{display:block;width:100%;border:0;border-bottom:1px solid #7999ae;border-radius:0;background:transparent;padding:12px 0;color:var(--ink)}.inq textarea{min-height:100px;resize:vertical}.picks{border:0;padding:0;margin:0}.picks legend{font-size:12px;margin-bottom:10px}.picks small{font-size:10px}.picks label{display:inline-flex;align-items:center;margin:0 15px 8px 0;gap:5px}.btn{border:1px solid var(--ink);background:var(--ink);color:white;padding:14px 25px;justify-self:start;font-size:13px}.btn:disabled{opacity:.5;cursor:wait}.fine{font-size:11px}.foot{padding:45px 4% 20px;background:#20211f;color:#efefea}.foot .in{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:35px}.name{font-size:30px;font-weight:700}.name small{display:block;font-size:11px;font-weight:400;margin-top:12px}.foot dl{display:grid;grid-template-columns:auto 1fr;gap:6px 25px;font-size:12px;margin:0}.foot dd{margin:0;overflow-wrap:anywhere}.copy{grid-column:1/-1;border-top:1px solid #50534d;padding-top:18px;font-size:10px;margin-top:30px}
@media(max-width:760px){.site-header{padding:18px 0;align-items:start}.brand{font-size:22px;flex-direction:column;gap:0}.brand span{font-size:8px}nav{gap:14px;font-size:11px;flex-wrap:wrap;justify-content:end}.hero{padding-top:30px}.eyebrow{font-size:9px}.eyebrow span:last-child{display:none}.hero h1{padding-right:0;margin:55px 0 40px;font-size:clamp(44px,10.8vw,82px)}.hero-arrow{position:static;display:block;width:max-content;margin-top:20px;font-size:64px}.hero-bottom{grid-template-columns:1fr;gap:20px}.hero-bottom .text-link{justify-self:start}.projects{grid-template-columns:1fr;gap:38px}.project:first-child{grid-column:auto}.project:first-child .slide-img{aspect-ratio:1.5}.slide-img{padding:12px}.section-heading{align-items:start}.section-heading .text-link{font-size:11px;white-space:nowrap}.card{grid-template-columns:1fr;gap:15px}.card h3{font-size:25px}.points,.team{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr;gap:30px}.n{padding-bottom:20px}.contact-grid{grid-template-columns:1fr;gap:40px}.way{font-size:18px}.foot .in{grid-template-columns:1fr}.section-label{padding-bottom:30px}.sheet{padding-bottom:55px}.row2{grid-template-columns:1fr}.rights{margin-bottom:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared editorial layout: preserve full artwork and readable narrow screens. */
.projects>*{min-width:0}.project:first-child .slide-img img{object-fit:contain}.av{object-fit:contain}.way{border-top:1px solid #8eafc4;padding-top:18px}.ways{gap:24px}.tint{background:#e9ebe5}.gitem{transition:transform .2s}.gitem:hover{transform:translateY(-4px)}.gitem:focus-visible{outline-offset:7px}.gsec h2{font-weight:500}.lb figcaption{max-width:70ch;margin-inline:auto;line-height:1.6}.skip-link{position:fixed;left:16px;top:16px;z-index:200;transform:translateY(-200%);padding:10px 16px;background:var(--ink);color:white}.skip-link:focus{transform:translateY(0)}
@media(max-width:480px){.site-header{flex-direction:column;gap:16px}nav{width:100%;justify-content:space-between;gap:8px}.hero h1{font-size:clamp(36px,10.8vw,52px)}.eyebrow{letter-spacing:.3px}.project figcaption{grid-template-columns:minmax(0,1fr)}.meta{grid-column:1;grid-row:auto;justify-self:start}.steps{grid-template-columns:1fr}.foot dl{gap:8px 14px}.contact h2{font-size:clamp(30px,8vw,44px)}}

/* SkySwing jelly twilight theme — responsive overlay */
:root{--ink:#25375d;--paper:#faf5f8;--sky:#d7c6e8;--line:#e6d9e7;--yellow:#f5c4d6;--lemon:#d3dcf7}
body{background:var(--paper);color:var(--ink);font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.site-header{border-bottom:0;position:relative;z-index:2}.brand{color:#293e6d}.brand span{color:#7e7495}nav a{font-weight:600}a:hover{color:#bb628e}
.nav-contact,.btn{background:#dc8caa;color:white;border:0;border-radius:999px;padding:12px 23px;box-shadow:0 8px 24px #aa719333}
.hero{width:100%;max-width:none;padding:0 4% 55px;min-height:610px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 76% 42%,#f5b9c6aa 0%,transparent 35%),radial-gradient(ellipse at 28% 74%,#f1a7b6a3,transparent 42%),linear-gradient(130deg,#44659a 0%,#8b83b3 43%,#e7a5b8 80%,#f7c9ae 100%);color:white;position:relative;overflow:hidden;border-radius:0 0 34px 34px}
.hero:before{content:"";position:absolute;width:clamp(210px,32vw,510px);aspect-ratio:1;right:8%;top:12%;border-radius:45% 55% 52% 48%;background:radial-gradient(circle at 30% 22%,#ffffffa8,transparent 26%),radial-gradient(circle at 70% 75%,#9d80df88,transparent 45%),linear-gradient(145deg,#ffc5df99,#9bd6f2a8);box-shadow:inset -18px -24px 35px #a6699e55,0 20px 70px #514f8d50;border:2px solid #ffffff6b;transform:rotate(-12deg);pointer-events:none}
.hero:after{content:"✦";position:absolute;right:12%;top:16%;font-size:70px;color:#ffdbec;filter:drop-shadow(0 0 22px #ffe0f5);pointer-events:none}
.hero .eyebrow,.hero h1,.hero-bottom{position:relative;z-index:1}.hero h1{font-size:clamp(62px,9vw,140px);letter-spacing:-.075em;text-shadow:0 5px 30px #3b4b8240}.hero h1>span{color:#ffd3e6}.hero-arrow{color:#ffe3f3}.hero-bottom{max-width:1150px}.hero-bottom p:first-child{font-size:clamp(19px,2vw,28px)}
.section-heading{border-color:var(--line)}.section-heading h2 span{color:#9c7897}.text-link{color:#b45e87}
.projects{gap:35px 25px}.slide-img,.project:first-child .slide-img{border-radius:24px;background:linear-gradient(135deg,#dfd9f3,#f8d4df);box-shadow:0 12px 32px #78648a16}.project:first-child .slide-img{background:#d8cde3}.slide-img img{border-radius:12px}.chip{background:#f5dce9;border-radius:999px;padding:4px 9px}
.sheet{border-color:var(--line)}.sheet:nth-of-type(even){background:#f6eef7}.card,.points li,.member,.n{border-color:#ddcde2}.card{padding:28px 20px;border-radius:22px}.card:hover{background:#f8e7f0}.card h3:before{color:#bd79a0}.tint{background:#eee7f5}.av{border-radius:25px;background:#f4dce9;padding:9px}
.contact{background:linear-gradient(125deg,#b3b8df,#efd1df 62%,#f4c7bf)}.contact .wrap{position:relative}.contact h2{color:#273b68}.inq{background:#ffffff8a;backdrop-filter:blur(16px);border:1px solid #ffffffa8;border-radius:26px;padding:clamp(18px,3vw,35px);box-shadow:0 15px 40px #7e64872b}.inq input:not([type=checkbox]),.inq textarea{border-bottom-color:#ad92b3}.way{border-color:#a991ba}.foot{background:#34466d;color:#fff}.foot .copy{border-color:#7883a3}
@media(max-width:760px){.hero{min-height:540px;padding:48px 5% 55px}.hero:before{width:230px;right:-70px;top:100px;opacity:.7}.hero h1{font-size:clamp(48px,12vw,85px);margin:60px 0 38px}.hero-bottom{max-width:80%}.hero-bottom p{max-width:34ch}.hero-arrow{font-size:60px}.projects{gap:30px}.slide-img{border-radius:18px}.contact-grid{gap:24px}.inq{padding:20px}.site-header{width:90%}}
@media(max-width:480px){.site-header{gap:12px}.brand{font-size:21px}nav{font-size:11px;gap:7px}nav a{padding:7px 0}.nav-contact{padding:8px 10px}.hero{min-height:520px}.hero:before{width:190px;right:-90px;top:100px}.hero h1{font-size:clamp(45px,12vw,65px);padding-right:0}.hero-bottom{max-width:100%}.hero-bottom p:first-child{font-size:19px}.hero-bottom p:nth-child(2){font-size:13px}.section-heading{gap:10px}.section-heading h2{font-size:30px}.card{padding:22px 10px}.contact h2{font-size:36px}.way{font-size:14px}.foot{padding:30px 5%}}
