/*
Theme Name: Perfect Shin
Template: generatepress
Version: 1.0.0
*/
:root{--navy:#102536;--muted:#536574;--paper:#fafaf7;--line:#dce1e3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font-family:Arial,"Segoe UI",sans-serif;line-height:1.8}a{color:inherit;text-underline-offset:6px}a:focus-visible,summary:focus-visible{outline:3px solid #bb924e;outline-offset:5px}header,footer{padding:28px 5vw;border-bottom:1px solid var(--line)}header{display:flex;justify-content:space-between;gap:24px;align-items:center}nav{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}header strong{letter-spacing:3px;font-size:18px}.ps-page{max-width:1280px;margin:auto;padding:72px 5vw}.ps-kicker{text-transform:uppercase;font-size:12px;letter-spacing:3px}.ps-page h1{font-weight:400;font-size:clamp(32px,5vw,68px);line-height:1.25;max-width:1000px;margin:28px 0}.ps-page h2{font-weight:400;font-size:clamp(23px,3vw,34px);line-height:1.5}.ps-intro{font-size:19px;max-width:780px;color:var(--muted)}.ps-placeholder{min-height:370px;background:linear-gradient(135deg,#e6e9e8,#c9d2d5);border:1px solid #bcc9ce;display:flex;align-items:end;padding:30px;margin:55px 0;color:#344b5a}.ps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin:70px 0}.ps-card{border-top:1px solid var(--line);padding-top:20px}.ps-cta{display:inline-block;padding:14px 24px;background:var(--navy);color:white;text-decoration:none;margin:14px 14px 0 0}.ps-note{font-size:13px;color:var(--muted)}footer{background:var(--navy);color:white}details{margin:32px 0;padding:24px;border:1px solid var(--line)}@media(max-width:760px){header{align-items:start;flex-direction:column}nav{gap:12px}.ps-page{padding:40px 6vw}.ps-grid{grid-template-columns:1fr;gap:22px;margin:40px 0}.ps-placeholder{min-height:240px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@view-transition{navigation:auto}
body{background:#fbfaf7;color:#142c3d}header.site-top{padding:18px 4vw;display:flex;align-items:center;background:#fbfaf7;gap:25px}a{text-decoration:none}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand span{font-size:18px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:2px}.brand img{border-radius:50%}.site-top nav{margin-left:auto;font-size:12px;gap:22px}.top-call{font-size:13px;white-space:nowrap}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:44% 56%;min-height:690px}.hero-copy{padding:65px 4vw 40px 7vw;display:flex;flex-direction:column;align-items:start}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold}.hero h1{font-size:clamp(40px,4.4vw,76px);font-weight:400;line-height:1.3;margin:32px 0}.hero h1 em{font-style:normal;color:#8b7758}.hero-copy>p:not(.eyebrow){font-size:15px;color:#5d6b73}.button{display:inline-block;background:#142c3d;color:white;padding:16px 25px;margin:22px 0}.hero-note{font-size:9px;letter-spacing:2px;margin-top:auto;padding-top:32px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo img{height:100%;width:100%;object-fit:cover}.hero-photo>span{position:absolute;bottom:0;left:0;right:0;padding:25px 30px;color:white;background:linear-gradient(transparent,#102536dd);font-size:10px;letter-spacing:1px}.hero-photo b{float:right}.wrap{max-width:1400px;margin:auto;padding:80px 6vw}.intro{display:grid;grid-template-columns:1fr 1.6fr 1.4fr;gap:45px;align-items:start}.intro h2{font-size:34px;line-height:1.5;font-weight:400;margin:0}.intro>p:last-child{font-size:15px;color:#56656c;margin:0}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:30px}.section-head h2{font-size:32px;font-weight:400}.section-head>a{font-size:12px;white-space:nowrap}.room-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}.room-cards img{width:100%;height:420px;object-fit:cover;transition:transform .5s}.room-cards a{overflow:hidden}.room-cards a:hover img{transform:scale(1.025)}.room-cards span{display:block;font-size:13px;margin-top:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps article{border-top:1px solid #bfc7c9;padding-top:24px}.steps span{color:#8b7758}.steps h3{font-weight:400;font-size:25px}.steps p{color:#596770;font-size:15px}.contact-band{background:#142c3d;color:white;padding:70px 7vw;text-align:center}.contact-band h2{font-size:48px;font-weight:400}.light{background:#fbfaf7;color:#142c3d}footer{display:flex;gap:30px;align-items:center;flex-wrap:wrap;padding:35px 6vw;font-size:12px}footer small{margin-left:auto}.page-heading{padding-top:65px;padding-bottom:45px}.page-heading h1{font-size:clamp(34px,5vw,65px);font-weight:400;line-height:1.4;max-width:1000px}.page-heading p:last-child{max-width:800px;color:#64727b}.project-cover img{width:100%;height:550px;object-fit:cover}.project-cover h2{font-weight:400}.room-nav{position:sticky;top:0;z-index:4;display:flex;justify-content:center;gap:30px;padding:20px;background:#fbfaf7ee;backdrop-filter:blur(12px);border-block:1px solid #dae0e0}.room-section{scroll-margin-top:70px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{overflow:hidden;background:#e4e7e6}.gallery-item img{display:block;width:100%;height:330px;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item.lead{grid-column:span 2;grid-row:span 2}.gallery-item.lead img{height:680px}dialog{border:0;padding:55px 60px 25px;width:min(1200px,96vw);background:#102536;color:white}dialog::backdrop{background:#08141ce8}dialog img{display:block;width:100%;height:75vh;object-fit:contain}dialog button{position:absolute;background:#fbfaf7;border:0;padding:12px;cursor:pointer}.close-view{right:15px;top:10px}.prev{left:5px;top:50%}.next{right:5px;top:50%}dialog p{text-align:center;margin:5px}button{font:inherit}a:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:0}.ps-page h1{font-size:clamp(34px,5vw,62px)}@media(max-width:1050px){.top-call{display:none}.site-top nav{gap:12px}.hero{min-height:600px}.hero-copy{padding-left:5vw}.intro{grid-template-columns:1fr 2fr}.intro>p:last-child{grid-column:2}.room-cards img{height:320px}}@media(max-width:700px){header.site-top{flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:12px 5vw}.brand span{font-size:15px}.brand img{width:46px;height:46px}.menu-toggle{display:block;background:none;border:1px solid #bdc9ce;padding:8px;font-size:12px}.site-top nav{display:none;width:100%;margin:0}.site-top nav.open{display:flex;flex-direction:column;padding:15px 0}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:34px 6vw}.hero h1{font-size:46px;margin:18px 0}.hero-note{display:none}.hero-photo{height:470px}.wrap{padding:45px 6vw}.intro{display:block}.intro h2{margin:20px 0}.section-head{display:block}.section-head h2{font-size:28px}.room-cards{grid-template-columns:1fr;gap:30px}.room-cards img{height:440px}.steps{grid-template-columns:1fr;gap:25px}.contact-band h2{font-size:32px}footer{display:block}footer>a{display:inline-block;margin:10px 20px 20px 0}.project-cover img{height:420px}.room-nav{gap:18px;justify-content:start;overflow:auto;white-space:nowrap;font-size:12px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery-item.lead{grid-column:span 2;grid-row:auto}.gallery-item.lead img{height:430px}.gallery-item img{height:240px}dialog{padding:50px 35px 15px}dialog img{height:65vh}.hero-photo b{display:block;float:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}