:root{--ink:#242623;--cream:#f4f1eb;--gold:#baa484;--muted:#73736b;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:85px;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,'Malgun Gothic',sans-serif;line-height:1.8;}
a{color:inherit;text-decoration:none;}
button{font:inherit;}
a:focus-visible,button:focus-visible{outline:3px solid #ab895b;outline-offset:5px;}

/* Header */
header{height:84px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:10;border-bottom:1px solid #dedacf;}
.logo{font-family:Georgia,serif;font-size:25px;letter-spacing:1px;line-height:1.15;}
.logo small{display:block;font:10px Arial;letter-spacing:3.4px;margin-top:7px;}
nav{display:flex;/* 기존 gap:30px; font-size:13px; */gap:22px;align-items:center;font-size:16.25px;}
.navcta{border:1px solid #8d8d80;padding:9px 19px;}
.menu{display:none;background:none;border:0;padding:12px;}

/* Hero */
.hero{min-height:730px;height:calc(100svh - 84px);max-height:960px;background:#242623;position:relative;display:flex;align-items:center;color:#fff;}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,20,.9),rgba(18,22,20,.55) 45%,rgba(18,22,20,.04)),url('assets/tailoring.jpg') center/cover;}
.hero-content{position:relative;margin:0 8%;/* 기존 max-width:690px; */max-width:740px;}
.eyebrow{/* 기존 font-size:11px; */font-size:12.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:24px;}
.hero h1{font-family:Georgia,'Batang',serif;font-size:clamp(43px,5.1vw,76px);font-weight:400;line-height:1.35;letter-spacing:-3px;margin:0 0 26px;}
.hero p{/* 기존 font-size:15px; max-width:460px; */font-size:18.75px;color:#dddcd4;max-width:600px;line-height:2;}
.actions{display:flex;gap:24px;align-items:center;margin-top:38px;}
.button{display:inline-block;background:var(--gold);color:#20241f;padding:13px 27px;/* 기존 font-size:13px; */font-size:16.25px;border:0;cursor:pointer;}
.textlink{/* 기존 font-size:13px; */font-size:16.25px;border-bottom:1px solid #aaa;padding:7px 0;}
.hero-foot{position:absolute;bottom:30px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#c8c6bc;}

/* Common */
.wrap{max-width:1280px;margin:auto;padding:110px 6%;}
h2{font:400 clamp(30px,3.2vw,46px)/1.5 Georgia,'Batang',serif;letter-spacing:-1.5px;margin:0 0 25px;}

/* Intro */
.intro{display:grid;grid-template-columns:1fr 1.1fr;/* 기존 gap:90px; */gap:60px;align-items:center;}
.years{font:italic 130px/1 Georgia,serif;color:#a18a68;border-top:1px solid #c9c3b6;padding-top:35px;}
.years span{/* 기존 font:12px Arial; */font:15px Arial;letter-spacing:3px;display:block;margin-top:24px;color:var(--muted);}
.bodycopy{/* 기존 font-size:14px; max-width:520px; */font-size:17.5px;color:var(--muted);max-width:600px;}
.signature{margin-top:28px;font:italic 23px Georgia,serif;}
#story > div:nth-of-type(2) > p:nth-of-type(1){font-size:13.125px;}

/* Services */
.services{background:#eae6dd;}
.sectionhead{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px;}
.sectionhead p{/* 기존 max-width:340px; font-size:13px; */max-width:450px;font-size:16.25px;color:var(--muted);}
.collection{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.service{/* 기존 padding:34px 36px; min-height:250px; */padding:36px;min-height:300px;border-top:1px solid #b7b1a4;background:#f3f0e9;position:relative;}
.service .num{color:#9c8b70;font:italic 24px Georgia;}
.service h3{font:400 26px 'Batang',serif;margin:24px 0 14px;}
.service p{/* 기존 font-size:13px; */font-size:16.25px;color:var(--muted);max-width:450px;}
.service small{/* 기존 font:10px Arial; */font:12.5px Arial;letter-spacing:2px;color:#8c8270;}

/* Wedding */
.wedding{background:var(--ink);color:var(--cream);}
.wedding .wrap{display:grid;grid-template-columns:1fr 1fr;/* 기존 gap:75px; */gap:55px;align-items:center;}
.detail{height:440px;background:url('assets/tailoring.jpg') 77% center/cover;position:relative;}
.detail:after{content:'THE ART OF BESPOKE';position:absolute;bottom:20px;left:25px;font:10px Arial;letter-spacing:3px;color:white;}
.wedding p{color:#c3c3b8;/* 기존 font-size:14px; */font-size:17.5px;}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);/* 기존 gap:25px; */gap:30px;margin-top:55px;}
.step{border-top:1px solid #beb7aa;padding-top:25px;}
.step b{font:italic 27px Georgia;color:#9b8460;}
.step h3{font-size:17px;font-weight:400;margin:20px 0 10px;}
.step p{/* 기존 font-size:13px; */font-size:16.25px;color:var(--muted);}

/* Store */
.store{background:#e8e3da;}
.store-intro{max-width:710px;margin-bottom:42px;}
.store-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;}
.store-gallery figure{margin:0;min-width:0;}
.photo-open{display:block;width:100%;padding:0;background:#222723;border:0;cursor:zoom-in;position:relative;overflow:hidden;}
.photo-open img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .4s;}
.photo-open:hover img{transform:scale(1.025);}
.photo-open span{position:absolute;bottom:18px;right:18px;background:#242623db;color:#fff;padding:6px 14px;font-size:16px;}
.store-gallery figcaption{padding-top:18px;border-bottom:1px solid #c3bbad;padding-bottom:23px;}
.store-gallery figcaption strong{font-weight:400;font-size:22px;}
.store-gallery figcaption p{font-size:16.25px;color:#62645c;margin:6px 0 0;}
.store-meta{margin-top:42px;display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid #bdb5a7;padding-top:28px;font-size:17.5px;}

/* Visit */
.visit{border-top:1px solid #d3cdc0;}
.visitgrid{display:grid;grid-template-columns:1fr 1fr;/* 기존 gap:80px; */gap:55px;}
.address{font-size:24px;margin:25px 0 10px;}
.visitbox{border:1px solid #ccc4b6;padding:35px;}
.visitbox h3{font:400 24px 'Batang',serif;margin-top:0;}
.visitbox p{/* 기존 font-size:14px; */font-size:17.5px;color:var(--muted);}
.visitbuttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.outline{background:transparent;border:1px solid #ada491;}
.notice{/* 기존 font-size:12px!important; */font-size:15px!important;margin-top:20px;}

/* Footer */
footer{background:#1c211e;color:#c8c8bc;padding:42px 6%;display:flex;justify-content:space-between;gap:30px;/* 기존 font-size:12px; */font-size:15px;}
.footerlogo{font:24px Georgia;color:#f0eee8;}
footer a{transition:color .3s ease;}
footer a:hover{color:var(--gold);}
footer small{color:#8c9389;/* 기존 font-size:10px; */font-size:12.5px;}

/* Footer - phone fixed */
#mobile_call{display:none;}

/* Toast */
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#222;color:white;padding:12px 24px;z-index:20;display:none;/* 기존 font-size:13px; */font-size:16.25px;max-width:90vw;}
.toast.show{display:block;}

/* Photo Dialog */
.photo-dialog{padding:0;border:0;background:#18201b;max-width:95vw;max-height:95svh;color:#fff;}
.photo-dialog::backdrop{background:#101613e8;}
.photo-dialog img{display:block;max-height:82svh;max-width:90vw;width:auto;height:auto;object-fit:contain;margin:auto;}
.photo-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;gap:25px;font-size:15px;}
.photo-close{color:white;background:transparent;border:1px solid #aaa;padding:6px 12px;cursor:pointer;}
.photo-dialog:focus{outline:none;}

/* 1100px */
	@media(max-width:1100px){
	header{height:80px;}
	.menu{display:block;font-size:15px;}
	nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;align-items:stretch;gap:18px;}
	nav.open{display:flex;}
	.intro{gap:40px;}
	.steps{grid-template-columns:1fr 1fr;}
}

@media(max-width:768px){
	header{height:73px;}
	.logo{font-size:21px;}
	.menu{display:block;}
	nav{top:73px;}
	.hero{/* 기존 min-height:660px; height:83svh; */min-height:760px;height:auto;padding:75px 0 100px;}
	.hero:before{background:linear-gradient(90deg,rgba(18,22,20,.88),rgba(18,22,20,.42)),url('assets/tailoring.jpg') 65% center/cover;}
	.hero-content{margin:0 7%;}
	.hero h1{font-size:44px;letter-spacing:-2px;}
	.hero p{/* 기존 font-size:13px; */font-size:16.25px;line-height:1.9;}
	.hero-foot{font-size:8px;left:7%;right:7%;letter-spacing:1px;}
	.wrap{padding:72px 7%;}
	.intro,.wedding .wrap,.visitgrid{grid-template-columns:1fr;gap:40px;}
	.years{font-size:95px;}
	.sectionhead{display:block;}
	.sectionhead p{font-size:16.25px;}
	.collection{grid-template-columns:1fr;}
	.service{/* 기존 min-height:220px; */padding:28px;min-height:300px;}
	.steps{grid-template-columns:1fr 1fr;gap:28px 22px;}
	.step p{font-size:16.25px;}
	.detail{height:320px;}
	.address{font-size:21px;}
	.visitbox{padding:25px;}
	.visitbuttons{flex-direction:column;align-items:stretch;}
	.visitbuttons .button{text-align:center;}
	.bodycopy,.wedding p,.visitbox p{font-size:17.5px;}
	footer{flex-direction:column;}
	.actions{/* 기존 gap:20px; */flex-wrap:wrap;gap:16px;}
	h2{font-size:31px;}
	.store-gallery{grid-template-columns:1fr;gap:32px;}
	.store-intro{margin-bottom:32px;}
	.store-meta{display:block;}
	.store-meta .textlink{display:inline-block;margin-top:12px;}
	.photo-bar{font-size:16px;}
	/* Footer - phone fixed */
	#mobile_call{display:block;position:fixed;bottom:3.12vw;left:4.68vw;width:90.62vw;z-index:9999;background:#242623;border:1px solid rgba(255,255,255,.5);border-radius:2vw;box-shadow:0 0 0 1px rgba(0,0,0,.3),0 0 4.68vw rgba(0,0,0,.4);overflow:hidden;transition:background .3s ease,border-color .3s ease;}
	#mobile_call a{display:flex;align-items:center;justify-content:center;gap:2.34vw;width:100%;height:12vw;color:#fff;text-decoration:none;font-size:6vw;font-weight:600;transition:color .3s ease;}
	#mobile_call svg{width:8vw;height:8vw;transition:transform .3s ease;}
	#mobile_call:hover{background:#393d38;border-color:#fff;}
	#mobile_call:hover svg{transform:rotate(-15deg);}
	#mobile_call:active{background:#4a5048;}
	body{padding-bottom:17.18vw;}
}

@media(max-width:420px){
	.steps{grid-template-columns:1fr;}
	.hero-content{margin:0 6%;}
}

@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto;}.photo-open img{transition:none;}
}
