
@font-face{font-family:GW;src:url("assets/e0bef28e9e-NotoSansCJKtc-Regular-0cba123d9cae862ea731.woff2");font-weight:400;font-display:swap}
@font-face{font-family:GW;src:url("assets/3b6e062db7-NotoSansCJKtc-Bold-5f076101e2ea292dd75b.woff2");font-weight:700;font-display:swap}
:root{--paper:#f7f6f2;--ink:#272924;--muted:#62645d;--line:#d9dad1;--gold:#a78514;--space:8px;--gutter:24px;--margin:80px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:GW,sans-serif;-webkit-font-smoothing:antialiased;font-size:calc(18px * var(--text-scale,1));line-height:1.75}h1,h2,h3,p,figure{margin:0}button{font:inherit;color:inherit;border:0;background:none;padding:0}img{display:block;max-width:100%}.wrap{max-width:1440px;padding:0 var(--margin);margin:0 auto}.rule{border-bottom:1px solid var(--line)}.eyebrow{font-size:calc(14px * var(--text-scale,1));letter-spacing:.15em;color:var(--muted)}.arrow{display:inline-block;font-family:Arial,sans-serif;font-size:calc(26px * var(--text-scale,1));line-height:1;font-weight:400}.textlink{display:inline-flex;align-items:center;gap:32px;font-size:calc(16px * var(--text-scale,1));line-height:1.5;border-bottom:1px solid var(--ink);padding-bottom:12px}.textlink .arrow{font-size:calc(24px * var(--text-scale,1))}
header{height:104px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.logo{width:246px;height:auto}.nav{display:flex;align-items:center;gap:32px;font-size:calc(15px * var(--text-scale,1))}.nav .contact{border:1px solid var(--ink);padding:11px 20px}.mobile-menu{display:none}
.hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-top:40px;padding-bottom:64px;align-items:center}.hero-copy{grid-column:1/7;padding-bottom:32px}.hero-copy h1{font-size:calc(72px * var(--text-scale,1));line-height:1.28;font-weight:400;letter-spacing:.035em;margin-top:32px;margin-bottom:32px}.hero-copy .desc{max-width:450px;font-size:calc(18px * var(--text-scale,1));line-height:1.9;color:var(--muted)}.hero-copy .textlink{margin-top:48px}.hero-photo{grid-column:8/13;position:relative}.hero-photo img{width:100%;height:auto}.hero-photo figcaption{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:calc(12px * var(--text-scale,1));letter-spacing:.07em}.hero-foot{display:flex;justify-content:space-between;align-items:center;padding:0 0 32px;color:var(--muted);font-size:calc(13px * var(--text-scale,1));letter-spacing:.08em}.hero-foot .scroll{display:flex;align-items:center;gap:16px}
.selected{padding-top:104px;padding-bottom:112px}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.sectionhead h2{font-size:calc(36px * var(--text-scale,1));line-height:1.4;font-weight:400;letter-spacing:.06em}.sectionhead .eyebrow{margin-bottom:12px}.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);align-items:start}.work-a{grid-column:1/8}.work-b{grid-column:9/13;margin-top:168px}.gallery img{width:100%;height:auto}.caption{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:20px}.caption h3{font-size:calc(18px * var(--text-scale,1));line-height:1.5;font-weight:400;letter-spacing:.03em}.caption p{font-size:calc(13px * var(--text-scale,1));color:var(--muted);margin-top:6px}.caption .arrow{font-size:calc(24px * var(--text-scale,1))}.open-work{display:flex;align-items:center;gap:8px;font-size:calc(12px * var(--text-scale,1));white-space:nowrap;color:var(--muted)}.mobile-all{display:none}
.services{border-top:1px solid var(--line);padding:88px 0 104px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}.service-intro{grid-column:1/5}.service-intro h2{font-size:calc(32px * var(--text-scale,1));line-height:1.55;letter-spacing:.04em;font-weight:400;margin-top:20px}.service-intro p{font-size:calc(16px * var(--text-scale,1));line-height:1.9;color:var(--muted);margin-top:24px;max-width:315px}.service-list{grid-column:6/13}.service-row{display:grid;grid-template-columns:1fr 40px;gap:24px;padding:0 0 36px;border-bottom:1px solid var(--line)}.service-row+.service-row{padding-top:36px}.service-row h3{font-size:calc(28px * var(--text-scale,1));font-weight:400;line-height:1.5;letter-spacing:.04em}.service-row p{font-size:calc(16px * var(--text-scale,1));line-height:1.8;margin-top:12px;color:var(--muted);max-width:560px}.service-row .arrow{padding-top:12px}.service-tags{font-size:calc(13px * var(--text-scale,1))!important;letter-spacing:.04em;margin-top:20px!important}
.closing{background:#292c25;color:var(--paper)}.closing-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter);padding-top:80px;padding-bottom:80px;align-items:end}.closing-copy{grid-column:1/9}.closing .eyebrow{color:#c3c7b8}.closing h2{font-size:calc(44px * var(--text-scale,1));line-height:1.5;font-weight:400;letter-spacing:.035em;margin-top:24px}.closing p{color:#c3c7b8;font-size:calc(16px * var(--text-scale,1));margin-top:24px;max-width:630px}.closing-action{grid-column:10/13;justify-self:end}.closing-action .textlink{border-color:var(--paper);font-size:calc(18px * var(--text-scale,1));gap:48px}
footer.wrap{padding-top:48px;padding-bottom:40px!important}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-top .logo{width:218px}.footer-links{display:flex;gap:32px;font-size:calc(14px * var(--text-scale,1))}.footer-bottom{display:flex;justify-content:space-between;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:calc(12px * var(--text-scale,1));color:var(--muted)}
@media(min-width:1600px){:root{--margin:80px}}
@media(max-width:1100px) and (min-width:761px){:root{--margin:40px}.nav{gap:20px;font-size:calc(14px * var(--text-scale,1))}.logo{width:205px}.hero-copy h1{font-size:calc(56px * var(--text-scale,1))}.hero-photo{grid-column:7/13}.hero-copy{grid-column:1/7}.work-b{margin-top:120px}.closing h2{font-size:calc(36px * var(--text-scale,1))}}
@media(max-width:760px){:root{--margin:24px;--gutter:16px}body{font-size:calc(16px * var(--text-scale,1))}.wrap{max-width:560px}header{height:80px}.logo{width:200px}.nav{display:none}.mobile-menu{display:flex;gap:10px;align-items:center;font-size:calc(13px * var(--text-scale,1));min-height:44px}.hamburger{width:20px;height:12px;border-top:1px solid;border-bottom:1px solid}.hero{padding-top:32px;padding-bottom:32px;display:flex;flex-direction:column;gap:32px;align-items:stretch}.hero-copy{display:contents}.hero-copy .eyebrow{order:0;font-size:calc(12px * var(--text-scale,1))}.hero-copy h1{order:1;font-size:calc(42px * var(--text-scale,1));line-height:1.3;letter-spacing:.02em;margin:-16px 0 0}.hero-photo{order:2;margin:0}.hero-photo img{width:100%}.hero-photo figcaption{margin-top:10px;font-size:calc(11px * var(--text-scale,1));letter-spacing:0}.hero-copy .desc{order:3;font-size:calc(16px * var(--text-scale,1));line-height:1.8;margin:0}.hero-copy .textlink{order:4;align-self:start;margin:0;font-size:calc(16px * var(--text-scale,1));min-height:44px}.hero-foot{font-size:calc(11px * var(--text-scale,1));letter-spacing:.02em;padding-bottom:24px}.hero-foot .scroll{gap:10px}.eyebrow{font-size:calc(12px * var(--text-scale,1))}.selected{padding-top:56px;padding-bottom:64px}.sectionhead{margin-bottom:28px}.sectionhead h2{font-size:calc(28px * var(--text-scale,1))}.sectionhead .eyebrow{margin-bottom:10px}.sectionhead>.textlink{display:none}.gallery{display:flex;flex-direction:column;gap:36px}.work-a,.work-b{width:100%;margin:0}.caption{margin-top:16px;gap:12px}.caption h3{font-size:calc(17px * var(--text-scale,1))}.caption p{font-size:calc(12px * var(--text-scale,1));margin-top:5px}.mobile-all{display:inline-flex;margin-top:36px;min-height:44px}.services{display:block;padding:56px 0 64px}.service-intro h2{font-size:calc(28px * var(--text-scale,1));line-height:1.5;margin-top:16px}.service-intro p{font-size:calc(16px * var(--text-scale,1));max-width:none;margin-top:20px}.service-list{margin-top:40px}.service-row{gap:16px;padding-bottom:28px;grid-template-columns:1fr 24px}.service-row+.service-row{padding-top:28px}.service-row h3{font-size:calc(24px * var(--text-scale,1))}.service-row p{font-size:calc(15px * var(--text-scale,1));line-height:1.85}.service-tags{font-size:calc(12px * var(--text-scale,1))!important;line-height:1.9!important}.closing-inner{display:block;padding-top:56px;padding-bottom:56px}.closing h2{font-size:calc(30px * var(--text-scale,1));line-height:1.55;margin-top:20px}.closing p{font-size:calc(15px * var(--text-scale,1));line-height:1.9;margin-top:20px}.closing-action{margin-top:32px}.closing-action .textlink{font-size:calc(17px * var(--text-scale,1));min-height:44px}footer.wrap{padding-top:32px;padding-bottom:32px!important}.footer-top{display:block}.footer-top .logo{width:200px}.footer-links{font-size:calc(13px * var(--text-scale,1));gap:24px;flex-wrap:wrap;margin-top:28px}.footer-bottom{display:block;margin-top:28px;padding-top:20px;font-size:calc(11px * var(--text-scale,1));line-height:1.8}.footer-bottom span{display:block}.footer-bottom span+span{margin-top:6px}}

/* 使用者標註：僅加手繪括號與放大桌面照片，保留其他排版 */
.hero-copy h1{position:relative;width:max-content;max-width:100%}
.title-bracket{position:absolute;top:10px;height:calc(100% - 20px);width:22px;overflow:visible;pointer-events:none}
.title-bracket path{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.title-bracket.left{left:-36px}.title-bracket.right{right:-36px}
@media(min-width:1101px){.hero-photo{margin-left:-48px}.hero-copy{transform:translateY(-37.7px)}}
@media(max-width:760px){.hero-copy h1{align-self:flex-start}.title-bracket{top:7px;height:calc(100% - 14px);width:14px}.title-bracket.left{left:-20px}.title-bracket.right{right:-20px}.title-bracket path{stroke-width:1.2}}

/* 主圖輪播第一張的靜態設計：暫排三張位置，第二、三張尚待選片 */
.hero{padding-bottom:128px}
.hero-carousel-controls{position:absolute;top:calc(100% + 20px);left:0;width:100%;display:flex;justify-content:space-between;align-items:center;height:44px}
.carousel-arrow{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(23px * var(--text-scale,1));line-height:1;font-family:Arial,sans-serif}
.carousel-status{display:flex;align-items:center;gap:20px}.carousel-count{font-size:calc(12px * var(--text-scale,1));letter-spacing:.1em;color:var(--muted)}
.carousel-dots{display:flex;gap:10px}.carousel-dots i{display:block;width:5px;height:5px;background:#b5b7ae;border-radius:50%}.carousel-dots i.active{background:var(--ink)}
@media(max-width:760px){.hero{padding-bottom:32px}.hero-carousel-controls{position:static;margin-top:20px}.hero-photo{position:relative}}

/* 首屏下方向量圖示提案：三種使用情境，不新增網站頁面 */
.icon-services{padding:88px 0 96px}.icon-sectionhead{display:flex;justify-content:space-between;gap:40px;align-items:end}.icon-sectionhead h2{font-size:calc(36px * var(--text-scale,1));line-height:1.5;font-weight:400;letter-spacing:.035em;margin-top:12px}.icon-sectionhead>p{font-size:calc(16px * var(--text-scale,1));line-height:1.9;color:var(--muted)}.icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px}.icon-service{padding-right:24px}.service-icon{width:112px;height:112px;margin-bottom:24px}.icon-service h3{font-size:calc(28px * var(--text-scale,1));line-height:1.5;font-weight:400;letter-spacing:.08em}.service-subtitle{font-size:calc(18px * var(--text-scale,1));margin-top:12px;line-height:1.6}.service-description{font-size:calc(16px * var(--text-scale,1));line-height:1.9;color:var(--muted);margin-top:16px}.icon-tags{font-size:calc(12px * var(--text-scale,1));color:var(--muted);margin-top:24px;padding-top:20px;border-top:1px solid var(--line);letter-spacing:.02em}.icon-service-links{display:flex;justify-content:flex-end;gap:48px;margin-top:56px}.icon-service-links .textlink{min-height:44px}
@media(max-width:1100px) and (min-width:761px){.icon-sectionhead{align-items:start}.icon-sectionhead h2{font-size:calc(30px * var(--text-scale,1))}.icon-grid{gap:24px}.icon-service{padding-right:0}.icon-sectionhead>p{font-size:calc(14px * var(--text-scale,1))}.icon-tags{font-size:calc(11px * var(--text-scale,1));letter-spacing:0}}
@media(max-width:760px){.icon-services{padding:56px 0 64px}.icon-sectionhead{display:block}.icon-sectionhead h2{font-size:calc(26px * var(--text-scale,1));letter-spacing:0;margin-top:12px}.icon-sectionhead>p{font-size:calc(15px * var(--text-scale,1));line-height:1.9;margin-top:20px}.icon-grid{display:block;margin-top:40px}.icon-service{display:grid;grid-template-columns:80px 1fr;column-gap:20px;padding:32px 0;border-top:1px solid var(--line)}.service-icon{width:80px;height:80px;grid-column:1;grid-row:1/3;margin:0}.icon-service h3{grid-column:2;font-size:calc(24px * var(--text-scale,1));align-self:end}.service-subtitle{grid-column:2;font-size:calc(15px * var(--text-scale,1));margin-top:8px;align-self:start}.service-description{grid-column:1/-1;font-size:calc(15px * var(--text-scale,1));margin-top:20px;line-height:1.9}.icon-tags{grid-column:1/-1;margin-top:16px;border:0;padding:0;font-size:calc(11px * var(--text-scale,1))}.icon-service-links{justify-content:flex-start;gap:32px;margin-top:16px}.icon-service-links .textlink{gap:24px;font-size:calc(15px * var(--text-scale,1))}}
@media(min-width:761px){.service-description{min-height:91.2px}}

/* 共用頁尾：地址與郵件／社群；靜態設計入口，尚未接通 */
.icon-sectionhead h2{margin-top:0}
footer.site-footer{padding-top:64px;padding-bottom:32px!important}.footer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.footer-brand{grid-column:1/5}.footer-brand .logo{width:246px}.footer-brand p{font-size:calc(15px * var(--text-scale,1));line-height:1.9;color:var(--muted);margin-top:24px;max-width:390px}.footer-about{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:12px;font-size:calc(14px * var(--text-scale,1))}.footer-location{grid-column:6/10}.footer-social{grid-column:10/13}.footer-grid h3{font-size:calc(13px * var(--text-scale,1));font-weight:400;color:var(--muted);letter-spacing:.08em;line-height:1.5;margin-bottom:20px}.footer-address{font-size:calc(16px * var(--text-scale,1));line-height:1.8}.footer-map{display:flex;gap:12px;align-items:center;min-height:44px;font-size:calc(13px * var(--text-scale,1));color:var(--muted)}.footer-email{display:inline-flex;gap:12px;align-items:center;min-height:44px;margin-top:8px;font-size:calc(16px * var(--text-scale,1))}.footer-social-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid var(--line);font-size:calc(16px * var(--text-scale,1));max-width:260px}.footer-social-row+.footer-social-row{margin-top:8px}.social-note{font-size:calc(12px * var(--text-scale,1));color:var(--muted);margin-left:10px}.footer-base{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:calc(12px * var(--text-scale,1));color:var(--muted)}.footer-base nav{display:flex;gap:24px;flex-wrap:wrap}.footer-base nav span,.footer-back{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1100px) and (min-width:761px){.footer-brand{grid-column:1/5}.footer-location{grid-column:5/9}.footer-social{grid-column:9/13}.footer-brand .logo{width:200px}.footer-address{font-size:calc(14px * var(--text-scale,1))}.footer-base nav{gap:16px}}
@media(max-width:760px){footer.site-footer{padding-top:40px;padding-bottom:24px!important}.footer-grid{display:flex;flex-direction:column;gap:32px}.footer-brand .logo{width:218px}.footer-brand p{margin-top:20px;font-size:calc(15px * var(--text-scale,1))}.footer-about{margin-top:8px}.footer-grid h3{margin-bottom:12px}.footer-address{font-size:calc(16px * var(--text-scale,1))}.footer-email{margin-top:4px}.footer-social-row{max-width:none;min-height:48px}.footer-base{display:grid;grid-template-columns:1fr auto;margin-top:32px;padding-top:16px;gap:12px}.footer-base nav{grid-column:1/-1;grid-row:1;gap:8px 24px;font-size:calc(12px * var(--text-scale,1))}.footer-base>span:first-child{grid-column:1;grid-row:2}.footer-back{grid-column:2;grid-row:2}}
/* 使用者指定：社群只顯示品牌圖示，桌面與手機皆橫排 */
.footer-social-icons{display:flex;align-items:center;gap:12px}.social-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px}.social-icon img{width:24px;height:24px;object-fit:contain}.social-icon:first-child{margin-left:-10px}


html{scroll-behavior:smooth;scroll-padding-top:32px}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.photo-intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;padding:48px 0 64px}.intro-copy{grid-column:1/7;max-width:550px}.intro-copy h1{font-size:calc(56px * var(--text-scale,1));font-weight:400;line-height:1.35;letter-spacing:.02em;margin:24px 0 28px}.intro-copy h1 span{font-size:calc(44px * var(--text-scale,1))}.intro-copy>p:not(.eyebrow){font-size:calc(16px * var(--text-scale,1));line-height:1.9;color:var(--muted);max-width:475px}.intro-copy>p+p{margin-top:16px}.intro-copy>.textlink{margin-top:32px}.intro-image{grid-column:8/13;justify-self:end;width:100%;max-width:440px}.intro-image img{width:100%;height:auto}
.page-links{display:flex;gap:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.page-links a{display:flex;align-items:center;min-height:44px;font-size:calc(15px * var(--text-scale,1))}
h2{font-size:calc(34px * var(--text-scale,1));line-height:1.5;font-weight:400;letter-spacing:.03em}.service-feature{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start;padding:96px 0;border-bottom:1px solid var(--line)}.feature-image{grid-column:1/7;max-width:600px}.feature-image img{width:100%;height:auto}.feature-image .textlink{margin-top:24px;font-size:calc(14px * var(--text-scale,1));gap:24px}.feature-copy{grid-column:8/13}.feature-copy>p{font-size:calc(16px * var(--text-scale,1));line-height:1.9;color:var(--muted);margin-top:24px}.reverse .feature-image{grid-column:7/13;grid-row:1;justify-self:end}.reverse .feature-copy{grid-column:1/6;grid-row:1}.service-details{margin-top:28px}
details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;font-size:calc(15px * var(--text-scale,1));line-height:1.7;min-height:64px;padding:16px 0}summary::-webkit-details-marker{display:none}summary>span{position:relative;flex:0 0 14px;width:14px;height:14px}summary>span:before,summary>span:after{content:"";position:absolute;background:var(--muted);left:0;top:6px;width:14px;height:1px}summary>span:after{transform:rotate(90deg)}details[open] summary>span:after{display:none}details>div{padding-bottom:24px}details p{font-size:calc(15px * var(--text-scale,1));line-height:1.9;color:var(--muted)}details p+p{margin-top:16px}
.preparation{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:88px 0}.preparation>h2{grid-column:1/5}.preparation-content{grid-column:6/12}.preparation-content p{font-size:calc(16px * var(--text-scale,1));line-height:1.95;color:var(--muted)}.preparation-content p+p{margin-top:24px}
.design-extension{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.design-extension figure{grid-column:1/8}.design-extension img{width:100%;height:auto}.design-extension>div{grid-column:9/13}.design-extension h2{font-size:calc(28px * var(--text-scale,1))}.design-extension p{margin-top:24px;color:var(--muted);font-size:calc(15px * var(--text-scale,1));line-height:1.9}.design-extension .textlink{margin-top:28px;font-size:calc(14px * var(--text-scale,1))}
.questions{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding:88px 0 104px}.questions>h2{grid-column:1/5}.questions>div{grid-column:6/13}.questions summary{font-size:calc(17px * var(--text-scale,1));min-height:72px}.questions details:first-child{border-top:0}.closing h2{margin-top:0;font-size:calc(40px * var(--text-scale,1))}
@media(max-width:1100px) and (min-width:761px){.intro-copy h1{font-size:calc(46px * var(--text-scale,1))}.intro-copy h1 span{font-size:calc(34px * var(--text-scale,1))}.intro-image{grid-column:8/13}.feature-copy{grid-column:7/13;padding-left:16px}.reverse .feature-copy{grid-column:1/7;padding:0 16px 0 0}.design-extension>div{grid-column:8/13}.design-extension figure{grid-column:1/7}}
@media(max-width:760px){.photo-intro{display:flex;flex-direction:column;align-items:stretch;padding:32px 0 40px;gap:32px}.intro-copy{display:contents}.intro-copy>.eyebrow{order:0}.intro-copy h1{order:1;font-size:calc(38px * var(--text-scale,1));margin:-16px 0 0}.intro-copy h1 span{font-size:calc(30px * var(--text-scale,1))}.intro-image{order:2;max-width:none;align-self:stretch}.intro-copy>p:not(.eyebrow){order:3;font-size:calc(15px * var(--text-scale,1));line-height:1.9;max-width:none;margin:0}.intro-copy>p+p{margin:0}.intro-copy>.textlink{order:4;margin:0;align-self:flex-start}.page-links{gap:4px 24px;flex-wrap:wrap;padding:12px 0}.page-links a{font-size:calc(14px * var(--text-scale,1))}.service-feature{display:flex;flex-direction:column;gap:28px;padding:48px 0}.feature-copy{display:contents}.feature-copy h2{order:0}.feature-image{order:1;width:100%;max-width:none}.feature-copy>p{order:2;margin:0;font-size:calc(15px * var(--text-scale,1))}.service-details{order:3;margin:0;width:100%}.feature-image .textlink{margin-top:16px;font-size:calc(13px * var(--text-scale,1))}.service-feature h2,h2{font-size:calc(28px * var(--text-scale,1))}.preparation{display:block;padding:48px 0}.preparation>h2 br{display:initial}.preparation-content{margin-top:24px}.preparation-content p{font-size:calc(15px * var(--text-scale,1))}.preparation-content p+p{margin-top:20px}.design-extension{display:flex;flex-direction:column;gap:28px;padding:48px 0}.design-extension>div{display:contents}.design-extension h2{order:0;align-self:flex-start;font-size:calc(28px * var(--text-scale,1))}.design-extension h2 br{display:initial}.design-extension figure{order:1}.design-extension p{order:2;margin:0}.design-extension .textlink{order:3;margin:0;align-self:flex-start}.questions{display:block;padding:48px 0 56px}.questions>div{margin-top:24px}.questions summary{font-size:calc(16px * var(--text-scale,1));min-height:64px}.closing h2{font-size:calc(28px * var(--text-scale,1))}.closing-action{margin-top:24px}}

/* 服務內容為主；專業理由濃縮為三項，完整知識移至文章草稿 */
.deliverables{padding-top:20px;border-top:1px solid var(--line);font-size:calc(13px * var(--text-scale,1))!important;line-height:1.8!important}
.expertise{padding:64px 0;border-bottom:1px solid var(--line)}.expertise>h2{font-size:calc(28px * var(--text-scale,1))}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:32px}.expertise h3{font-size:calc(19px * var(--text-scale,1));font-weight:400;line-height:1.5}.expertise p{margin-top:16px;font-size:calc(15px * var(--text-scale,1));line-height:1.9;color:var(--muted)}
@media(max-width:760px){.expertise{padding:40px 0}.expertise>h2{font-size:calc(25px * var(--text-scale,1))}.expertise-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.expertise h3{font-size:calc(19px * var(--text-scale,1))}.expertise p{margin-top:10px}}

/* 第四版：完整攝影長頁，原有共用識別保留 */
html{scroll-behavior:smooth;scroll-padding-top:96px}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-100px;left:24px;z-index:99;background:var(--paper);padding:12px}.skip:focus{top:12px}
.longpage{--section-gap:96px}.longpage h1,.longpage h2,.longpage h3{font-weight:400}.longpage p{font-size:calc(16px * var(--text-scale,1));line-height:1.95;color:var(--muted)}.longpage .eyebrow{font-size:calc(13px * var(--text-scale,1));letter-spacing:.12em}.opening{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding:64px 0 72px;align-items:center}.opening-copy{grid-column:1/7}.opening h1{font-size:calc(56px * var(--text-scale,1));line-height:1.4;letter-spacing:.03em;margin:20px 0 24px}.opening h1 span{display:block;font-size:calc(38px * var(--text-scale,1));margin-top:8px}.opening-copy>p:last-of-type{max-width:440px}.opening-copy .textlink{margin-top:32px}.opening-image{grid-column:8/13;max-width:400px;justify-self:end}.opening-image img{width:100%;height:auto}.opening-image figcaption{font-size:calc(12px * var(--text-scale,1));color:var(--muted);margin-top:12px}
.chapter-nav{position:sticky;top:0;z-index:10;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:stretch;gap:40px;min-height:72px}.chapter-nav a{display:flex;gap:12px;align-items:center;position:relative;font-size:calc(16px * var(--text-scale,1));min-height:64px;white-space:nowrap}.chapter-marker{display:inline-block;width:7px;height:7px;flex:0 0 7px;border-radius:2px;background:var(--gold)}.chapter-label{display:flex;align-items:center;gap:.5em}.chapter-nav a:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.chapter-nav a[aria-current=true]:after{transform:scaleX(1)}
/* 底線只標記目前章節；鍵盤焦點沿用獨立外框。 */
.chapter-nav a[aria-current=true]{color:#80650d}.chapter-nav .nav-consult{margin-left:auto;font-size:calc(14px * var(--text-scale,1))}
.chapter{padding:var(--section-gap) 0;border-bottom:1px solid var(--line)}.chapter-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:48px}.chapter-title{grid-column:1/6}.chapter-title h2{font-size:calc(42px * var(--text-scale,1));line-height:1.4;letter-spacing:.04em;margin-top:12px}.chapter-head>p{grid-column:7/13;max-width:520px}.product-pair{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}.product-food{grid-column:1/8}.product-object{grid-column:9/13;margin-top:96px}.product-pair img{width:100%;height:auto}.product-pair h3{font-size:calc(25px * var(--text-scale,1));margin:24px 0 12px}.product-pair p{max-width:630px}.product-pair .textlink{margin-top:24px}.product-pair .small{font-size:calc(13px * var(--text-scale,1));margin-top:16px;letter-spacing:.04em}
.product-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:64px 0;padding-top:32px;border-top:1px solid var(--line)}.product-points h3{font-size:calc(18px * var(--text-scale,1));margin-bottom:12px}.product-points p{font-size:calc(15px * var(--text-scale,1))}.extension-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}.extension-row figure{grid-column:1/6}.extension-row img{width:100%;height:auto}.extension-row>div{grid-column:7/13}.extension-row h3{font-size:calc(30px * var(--text-scale,1));line-height:1.55;margin-bottom:20px}.extension-row figcaption{font-size:calc(12px * var(--text-scale,1));color:var(--muted);margin-top:12px}
.chapter-faq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:48px}.chapter-faq>h3{grid-column:1/5;font-size:calc(22px * var(--text-scale,1))}.faq-list{grid-column:6/13}.faq-list details{border-top:1px solid var(--line);padding:0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:calc(16px * var(--text-scale,1));min-height:72px;padding:16px 0;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-family:Arial;font-size:calc(22px * var(--text-scale,1));color:var(--muted)}.faq-list details[open]>summary:after{content:'−'}.faq-list details>p{padding:0 32px 24px 0;font-size:calc(15px * var(--text-scale,1))}.chapter-end{margin-top:40px}
.portrait-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}.portrait-copy{grid-column:1/5}.portrait-copy h3{font-size:calc(30px * var(--text-scale,1));line-height:1.6;margin-bottom:24px}.portrait-copy p+p{margin-top:20px}.portrait-photos{grid-column:6/13;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.portrait-photos figure:nth-child(2){margin-top:64px}.portrait-photos img{width:100%;height:auto}.portrait-photos figcaption{font-size:calc(12px * var(--text-scale,1));color:var(--muted);margin-top:12px}.portrait-slot{aspect-ratio:2/3;background:#eeede7;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:calc(14px * var(--text-scale,1))}.portrait-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:64px;padding-top:32px;border-top:1px solid var(--line)}.portrait-notes h3{font-size:calc(18px * var(--text-scale,1));margin-bottom:12px}.portrait-notes p{font-size:calc(15px * var(--text-scale,1))}
.id-content{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.id-intro{grid-column:1/5}.id-intro h3{font-size:calc(28px * var(--text-scale,1));line-height:1.55;margin-bottom:20px}.id-steps{grid-column:6/13;margin:0;padding:0;list-style:none}.id-steps li{display:grid;grid-template-columns:36px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.id-steps li:first-child{padding-top:0;border:0}.id-steps .step-number{font-size:calc(13px * var(--text-scale,1));color:var(--gold);padding-top:5px}.id-steps h3{font-size:calc(20px * var(--text-scale,1));margin-bottom:12px}.id-steps p{font-size:calc(15px * var(--text-scale,1))}.id-band{background:#eeede7;padding:32px;margin-top:48px;display:flex;justify-content:space-between;gap:32px;align-items:center}.id-band p{max-width:650px;font-size:calc(15px * var(--text-scale,1))}.id-band .textlink{flex-shrink:0}
.longpage .textlink{transition:color .18s ease,border-color .18s ease}.longpage a.textlink:hover{color:#80650d;border-color:#80650d}.closing h2{margin-top:0}.closing-action span{cursor:default}
.grid-overlay{display:none;position:fixed;inset:0;max-width:1440px;margin:auto;padding:0 var(--margin);z-index:90;pointer-events:none;gap:24px;grid-template-columns:repeat(12,minmax(0,1fr))}.grid-overlay i{background:#de34531a;border-left:1px solid #de345366;border-right:1px solid #de345366}html.show-grid .grid-overlay{display:grid}
@media(max-width:1100px) and (min-width:761px){.opening h1{font-size:calc(44px * var(--text-scale,1))}.opening h1 span{font-size:calc(30px * var(--text-scale,1))}.opening-image{grid-column:7/13}.chapter-nav{gap:32px}.chapter-title h2{font-size:calc(36px * var(--text-scale,1))}.portrait-copy{grid-column:1/6}.portrait-photos{grid-column:7/13;gap:16px}.portrait-copy h3{font-size:calc(26px * var(--text-scale,1))}}
@media(max-width:760px){html{scroll-padding-top:84px}.longpage{--section-gap:64px}.opening{display:flex;flex-direction:column;gap:32px;padding:40px 0}.opening-copy{width:100%}.opening h1{font-size:calc(38px * var(--text-scale,1));margin:12px 0 20px}.opening h1 span{font-size:calc(26px * var(--text-scale,1));line-height:1.55}.opening-copy>p:last-of-type{font-size:calc(15px * var(--text-scale,1))}.opening-copy .textlink{margin-top:24px}.opening-image{width:78%;max-width:320px;align-self:flex-end}.opening-image figcaption{font-size:calc(11px * var(--text-scale,1))}.chapter-nav{gap:0;justify-content:space-between;min-height:64px}.chapter-nav a{font-size:calc(15px * var(--text-scale,1));gap:0;min-height:64px}.chapter-nav .chapter-marker{margin-right:8px}.chapter-nav .nav-consult{display:none}.chapter-head{display:block;margin-bottom:32px}.chapter-title h2{font-size:calc(32px * var(--text-scale,1));margin:8px 0 20px}.chapter-head>p{font-size:calc(15px * var(--text-scale,1))}.product-pair{display:block}.product-object{margin:48px 0 0 15%}.product-pair h3{font-size:calc(23px * var(--text-scale,1));margin:20px 0 12px}.product-pair p{font-size:calc(15px * var(--text-scale,1))}.product-points{display:block;margin:40px 0}.product-points article+article{margin-top:24px}.extension-row{display:block;padding:32px 0}.extension-row figure{width:85%;margin-bottom:28px}.extension-row h3{font-size:calc(26px * var(--text-scale,1));margin-bottom:16px}.extension-row p{font-size:calc(15px * var(--text-scale,1))}.chapter-faq{display:block;margin-top:32px}.chapter-faq>h3{font-size:calc(22px * var(--text-scale,1));margin-bottom:24px}.faq-list summary{font-size:calc(15px * var(--text-scale,1));min-height:64px}.faq-list details>p{padding-right:12px}.portrait-layout{display:flex;flex-direction:column;align-items:stretch;gap:32px}.portrait-copy h3{font-size:calc(26px * var(--text-scale,1))}.portrait-copy p{font-size:calc(15px * var(--text-scale,1))}.portrait-photos{gap:16px;order:-1}.portrait-photos figure:nth-child(2){margin-top:40px}.portrait-notes{display:block;margin-top:40px}.portrait-notes article+article{margin-top:24px}.id-content{display:block}.id-intro{margin-bottom:32px}.id-intro h3{font-size:calc(25px * var(--text-scale,1))}.id-intro p{font-size:calc(15px * var(--text-scale,1))}.id-steps li{gap:12px;grid-template-columns:24px 1fr}.id-band{display:block;padding:24px;margin-top:32px}.id-band .textlink{margin-top:24px}.grid-overlay{max-width:560px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid-overlay i:nth-child(n+5){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* 第五版：依2026-09-27使用者紅字集中內容；未改共用首頁 */
.longpage{--section-gap:56px;--group-gap:24px;--copy-gap:8px;--hero-size:48px;--chapter-size:36px}
.opening{padding:40px 0 32px;gap:24px;min-height:0}.opening-copy{grid-column:1/6}.opening h1{font-size:var(--hero-size);margin:12px 0 16px;line-height:1.35;letter-spacing:.01em}.opening-copy>p:last-of-type{font-size:calc(18px * var(--text-scale,1));line-height:1.8;color:var(--muted)}
.opening-pair{grid-column:6/13;display:grid;grid-template-columns:2.0654fr .666667fr;gap:16px;align-items:start}.opening-pair img{width:100%;height:auto}.opening-caption{grid-column:1/-1;font-size:calc(11px * var(--text-scale,1))!important;line-height:1.4!important;margin-top:-8px;text-align:right}
.chapter-nav{min-height:60px}.chapter-nav a{min-height:58px}
.chapter-head{display:block;margin-bottom:24px}.chapter-title h2{font-size:var(--chapter-size);margin:8px 0;line-height:1.45;letter-spacing:.025em}.chapter-head>p{max-width:960px;margin-top:8px}.longpage p{line-height:1.8}
.product-pair{display:grid;grid-template-columns:2.0654fr 1.777778fr;gap:24px;align-items:start}.product-food,.product-object{grid-column:auto;margin:0}.product-pair img{width:100%;height:auto}
.product-description{max-width:960px;margin-top:24px}.product-description h3{font-size:calc(20px * var(--text-scale,1));line-height:1.5;margin-bottom:8px}.product-description p+h3{margin-top:20px}.product-description .product-method{font-size:calc(14px * var(--text-scale,1));margin-top:16px;color:var(--muted)}
.extension-row{display:block;margin-top:24px;padding:24px 0 0;border-top:1px solid var(--line)}.extension-row h3{font-size:calc(20px * var(--text-scale,1));line-height:1.5;margin-bottom:8px}.extension-row p{max-width:960px}
.chapter-faq{margin-top:32px}.faq-list summary{min-height:60px}.chapter-end{margin-top:24px}.portrait-copy h3{margin-bottom:16px}.portrait-copy p+p{margin-top:16px}.portrait-photos figure:nth-child(2){margin-top:0}.portrait-notes{margin-top:32px;padding-top:24px;gap:24px}.portrait-notes h3{margin-bottom:8px}.id-intro h3{margin-bottom:16px}.id-steps li{padding:20px 0}.id-steps h3{margin-bottom:8px}.id-band{margin-top:24px;padding:24px}.closing-inner{padding-top:48px;padding-bottom:48px}.closing h2{font-size:calc(36px * var(--text-scale,1))}.closing p{margin-top:16px}
@media(max-width:1100px) and (min-width:761px){.longpage{--hero-size:36px;--chapter-size:32px}.opening-copy>p:last-of-type{font-size:calc(16px * var(--text-scale,1))}.opening-pair{gap:12px}}
@media(max-width:760px){.longpage{--section-gap:40px;--hero-size:34px;--chapter-size:28px}.opening{display:flex;gap:24px;padding:28px 0 24px}.opening h1{margin:8px 0 12px}.opening-copy>p:last-of-type{font-size:calc(16px * var(--text-scale,1))}.opening-pair{width:100%;gap:12px}.opening-caption{font-size:calc(10px * var(--text-scale,1))!important}.chapter-nav{min-height:56px}.chapter-nav a{min-height:54px}.chapter-head{margin-bottom:20px}.chapter-title h2{margin:8px 0;line-height:1.45}.product-pair{display:grid;gap:12px}.product-description{margin-top:20px}.product-description h3,.extension-row h3{font-size:calc(19px * var(--text-scale,1))}.product-description p{font-size:calc(15px * var(--text-scale,1))}.product-description .product-method{font-size:calc(14px * var(--text-scale,1))}.extension-row{padding-top:20px;margin-top:20px}.chapter-faq{margin-top:24px}.chapter-faq>h3{margin-bottom:16px}.portrait-layout{gap:24px}.portrait-notes{margin-top:24px;padding-top:20px}.portrait-photos figure:nth-child(2){margin:0}.id-intro{margin-bottom:24px}.id-band{padding:20px}.closing-inner{padding-top:40px;padding-bottom:40px}.closing h2{font-size:calc(28px * var(--text-scale,1))}}

/* 第六版僅補回內容，沿用第五版緊湊的幾何關係 */
.product-examples-caption{grid-column:1/-1;font-size:calc(12px * var(--text-scale,1));color:var(--muted);margin-top:-12px}.shooting-methods article+article{margin-top:24px}.shooting-methods article p+p{margin-top:12px}.shooting-methods .method-note{font-size:calc(14px * var(--text-scale,1))}.commercial-copy-group{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.commercial-copy-group h3{font-size:calc(20px * var(--text-scale,1));line-height:1.5;margin-bottom:8px}.commercial-copy-group>p{max-width:960px}.commercial-copy-group>p+p{margin-top:12px}.shooting-considerations{margin:0;max-width:960px}.shooting-considerations>div{display:grid;grid-template-columns:112px 1fr;gap:16px;margin-top:12px;font-size:calc(16px * var(--text-scale,1));line-height:1.8}.shooting-considerations dt{color:var(--ink)}.shooting-considerations dd{margin:0;color:var(--muted)}.commercial-faq{display:block}.commercial-faq>h3{margin-bottom:16px}.commercial-faq .faq-list{max-width:960px}
@media(max-width:760px){.commercial-copy-group{margin-top:20px;padding-top:20px}.commercial-copy-group h3{font-size:calc(19px * var(--text-scale,1))}.commercial-copy-group>p{font-size:calc(15px * var(--text-scale,1))}.shooting-considerations>div{display:block;font-size:calc(15px * var(--text-scale,1));margin-top:16px}.shooting-considerations dd{margin-top:4px}}

/* 第七版：服務與單價共組，製作費用緊接價格；沿用12欄／8px節奏。 */
.pricing-section{--pricing-gap:24px;--price-size:34px;margin-top:32px;scroll-margin-top:80px}
.pricing-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.pricing-heading h3{font-size:calc(24px * var(--text-scale,1));line-height:1.5}.pricing-heading p{font-size:calc(14px * var(--text-scale,1))}
.shooting-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pricing-gap);max-width:none;margin-top:0}.shooting-methods article{border-top:2px solid var(--gold);padding-top:20px;min-width:0}.shooting-methods article+article{margin-top:0}.shooting-methods h4{font-size:calc(22px * var(--text-scale,1));font-weight:400;line-height:1.5;margin:0 0 8px}.shooting-methods .method-price{display:flex;align-items:baseline;gap:6px;color:var(--ink);line-height:1.3;margin:0}.method-price .amount{font-size:var(--price-size);font-family:Arial,sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.method-price .currency{font-family:Arial,sans-serif;font-size:calc(16px * var(--text-scale,1))}.method-price .unit{font-size:calc(14px * var(--text-scale,1))}.shooting-methods article .method-minimum{font-size:calc(14px * var(--text-scale,1));color:#80650d;margin:8px 0 20px}.shooting-methods article p+p{margin-top:12px}.shooting-methods article .method-price+.method-minimum{margin-top:8px}.shooting-methods .method-note{font-size:calc(14px * var(--text-scale,1))}
.pricing-scope{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.pricing-scope h4{font-size:calc(20px * var(--text-scale,1));font-weight:400;line-height:1.5;margin:0 0 12px}.scope-list{margin:0}.scope-list>div{display:grid;grid-template-columns:136px minmax(0,1fr);gap:24px;margin-top:12px;font-size:calc(16px * var(--text-scale,1));line-height:1.8}.scope-list dt{color:var(--ink)}.scope-list dd{color:var(--muted);margin:0;max-width:960px}.pricing-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.pricing-notes p{font-size:calc(14px * var(--text-scale,1))}.pricing-notes strong{font-weight:400;color:var(--ink)}.pricing-scope .quote-agreement{margin-top:16px;padding-left:16px;border-left:2px solid var(--gold);color:var(--ink);font-size:calc(15px * var(--text-scale,1))}
@media(max-width:1000px){.pricing-heading{display:block}.pricing-heading p{margin-top:8px}}
@media(max-width:760px){.pricing-section{--price-size:32px;margin-top:24px}.pricing-heading h3{font-size:calc(22px * var(--text-scale,1))}.shooting-methods{grid-template-columns:1fr;gap:24px}.shooting-methods article{padding-top:16px}.shooting-methods h4{font-size:calc(20px * var(--text-scale,1))}.shooting-methods article .method-minimum{margin-bottom:16px}.pricing-scope{margin-top:24px;padding-top:20px}.pricing-scope h4{font-size:calc(19px * var(--text-scale,1))}.scope-list>div{display:block;font-size:calc(15px * var(--text-scale,1));margin-top:16px}.scope-list dd{margin-top:4px}.pricing-notes{grid-template-columns:1fr;gap:12px;margin-top:16px;padding-top:16px}.pricing-scope .quote-agreement{font-size:calc(14px * var(--text-scale,1));padding-left:12px}}

/* 第八版：個人／職業形象，照片、需求、流程與問答分組。 */
#portrait{--portrait-gap:24px;--portrait-heading:24px}.portrait-layout{align-items:start}.portrait-copy{grid-column:1/7;padding-right:24px}.portrait-copy h3{font-size:var(--portrait-heading);line-height:1.5;margin:0 0 12px}.portrait-photos{grid-column:7/13;gap:var(--portrait-gap)}.portrait-photos figcaption{margin-top:8px;line-height:1.6}.portrait-brief{margin:24px 0 0}.portrait-brief>div+div{margin-top:20px}.portrait-brief dt{font-size:calc(18px * var(--text-scale,1));line-height:1.5}.portrait-brief dd{margin:8px 0 0;font-size:calc(16px * var(--text-scale,1));line-height:1.8;color:var(--muted);max-width:520px}
.portrait-process{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.portrait-process>h3{font-size:calc(22px * var(--text-scale,1));line-height:1.5;margin-bottom:16px}.portrait-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--portrait-gap);margin:0;padding:0;list-style:none}.portrait-step-list h4{display:flex;align-items:baseline;gap:8px;font-size:calc(18px * var(--text-scale,1));line-height:1.5;font-weight:400;margin:0 0 8px}.portrait-step-list p{font-size:calc(15px * var(--text-scale,1))}
.portrait-faq{margin-top:32px}.portrait-faq>.faq-list{grid-column:5/13}.portrait-faq>h3{line-height:1.5;margin:14px 0 0;font-size:calc(22px * var(--text-scale,1))}.portrait-inquiry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.portrait-inquiry p{font-size:calc(15px * var(--text-scale,1));max-width:760px}.portrait-inquiry .textlink{flex-shrink:0;white-space:nowrap;padding-bottom:8px}
@media(max-width:1100px) and (min-width:761px){.portrait-copy{padding-right:0}.portrait-photos{gap:16px}.portrait-brief{margin-top:20px}.portrait-brief>div+div{margin-top:16px}}
@media(max-width:760px){#portrait{--portrait-heading:22px}.portrait-layout{align-items:stretch}.portrait-copy{padding-right:0}.portrait-photos{gap:16px}.portrait-photos figcaption{font-size:calc(11px * var(--text-scale,1))}.portrait-brief{margin-top:20px}.portrait-brief dt{font-size:calc(17px * var(--text-scale,1))}.portrait-brief dd{font-size:calc(15px * var(--text-scale,1));margin-top:8px}.portrait-process{padding-top:20px}.portrait-process>h3{font-size:calc(20px * var(--text-scale,1))}.portrait-step-list{grid-template-columns:1fr;gap:20px}.portrait-faq{margin-top:24px}.portrait-faq>h3{font-size:calc(20px * var(--text-scale,1));margin:0 0 16px}.portrait-inquiry{display:block;margin-top:24px;padding-top:20px}.portrait-inquiry .textlink{margin-top:16px;min-height:44px}}

/* 第九版：依使用者提供方案重寫；沿用金色細線與三等欄，不採參考站卡片。 */
.portrait-pricing{margin-top:32px;scroll-margin-top:80px}.portrait-pricing-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:16px}.portrait-pricing-head h3{font-size:calc(24px * var(--text-scale,1));line-height:1.5}.portrait-pricing-head p{font-size:calc(14px * var(--text-scale,1))}.portrait-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portrait-plans article{min-width:0;border-top:2px solid var(--gold);padding-top:20px}.portrait-plans h4{font-size:calc(22px * var(--text-scale,1));font-weight:400;line-height:1.5;margin:0 0 8px}.portrait-plans .portrait-price{display:flex;gap:6px;align-items:baseline;color:var(--ink);line-height:1.3;margin:0}.portrait-price .amount{font-family:Arial,sans-serif;font-size:calc(34px * var(--text-scale,1));font-variant-numeric:tabular-nums;letter-spacing:-.035em}.portrait-price .currency{font-family:Arial,sans-serif;font-size:calc(16px * var(--text-scale,1))}.portrait-price .unit{font-size:calc(14px * var(--text-scale,1))}.portrait-plans dl{margin:20px 0 0;font-size:calc(16px * var(--text-scale,1))}.portrait-plans dl>div{display:flex;gap:12px;align-items:baseline}.portrait-plans dl>div+div{margin-top:8px}.portrait-plans dt{color:var(--muted)}.portrait-plans dd{margin:0;color:var(--ink)}.portrait-plans .portrait-treatment{margin-top:16px;font-size:calc(15px * var(--text-scale,1))}.portrait-booking-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.portrait-booking-notes p{font-size:calc(15px * var(--text-scale,1))}
@media(max-width:1100px){.portrait-pricing-head{display:block}.portrait-pricing-head p{margin-top:8px}}
@media(max-width:760px){.portrait-pricing{margin-top:24px}.portrait-pricing-head h3{font-size:calc(22px * var(--text-scale,1))}.portrait-plans{grid-template-columns:1fr;gap:24px}.portrait-plans article{padding-top:16px}.portrait-plans h4{font-size:calc(20px * var(--text-scale,1))}.portrait-price .amount{font-size:calc(32px * var(--text-scale,1))}.portrait-plans dl{margin-top:16px;font-size:calc(15px * var(--text-scale,1))}.portrait-plans .portrait-treatment{margin-top:12px}.portrait-booking-notes{grid-template-columns:1fr;gap:16px;padding-top:20px}}

/* 使用者標註：商品段落分隔加大；人像洽詢連結在前，說明緊接其後。 */
#commercial{--commercial-block-gap:40px;--commercial-rule-inset:32px}
#commercial .pricing-scope,#commercial .pricing-notes,#commercial .commercial-copy-group,#commercial .extension-row{margin-top:var(--commercial-block-gap);padding-top:var(--commercial-rule-inset)}
#commercial .commercial-faq{margin-top:var(--commercial-block-gap)}
.portrait-inquiry{justify-content:flex-start;gap:16px;border-top:0;padding-top:0}
@media(max-width:760px){
#commercial{--commercial-block-gap:32px;--commercial-rule-inset:24px}
.portrait-inquiry .textlink{margin-top:0}
.portrait-inquiry p{margin-top:12px}
}

/* 商品閱讀順序：作品、拍攝考量、價格、合作流程、問答。 */
#commercial .pricing-section{margin-top:var(--commercial-block-gap)}
#commercial .design-integration{margin-top:16px}
.commercial-actions{display:flex;flex-wrap:wrap;gap:24px 40px}

/* 證件照：LINE 官方帳號內容轉為官網文字與響應式格線。 */
#id-photo{--id-gap:40px;--id-inset:32px;--id-column-gap:24px;--id-heading:24px;--id-copy:16px}
.id-service h4{font-size:calc(20px * var(--text-scale,1));font-weight:400;line-height:1.5;margin:0 0 12px}
.id-highlights,.id-plans,.id-preparation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--id-column-gap)}
.id-highlights h3{font-size:calc(20px * var(--text-scale,1));line-height:1.5;margin-bottom:8px}.id-highlights p{font-size:var(--id-copy)}
.id-block{margin-top:var(--id-gap);padding-top:var(--id-inset);border-top:1px solid var(--line)}
.id-block>h3,.id-section-heading h3{font-size:var(--id-heading);line-height:1.5;margin:0 0 20px}
.id-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}.id-section-heading h3{margin:0}.id-section-heading p{font-size:calc(14px * var(--text-scale,1))}
.id-pricing{border-top:0;padding-top:0}
.id-plans article{border-top:2px solid var(--gold);padding-top:20px;min-width:0}.id-plans h4{font-size:calc(22px * var(--text-scale,1));margin-bottom:8px}
.id-service .id-price{display:flex;align-items:baseline;gap:6px;color:var(--ink);line-height:1.3}.id-price strong{font-family:Arial,sans-serif;font-size:calc(34px * var(--text-scale,1));font-weight:400;font-variant-numeric:tabular-nums}.id-price span{font-size:calc(14px * var(--text-scale,1))}.id-price span:first-child{font-family:Arial,sans-serif;font-size:calc(16px * var(--text-scale,1))}.id-service .id-turnaround{font-size:calc(16px * var(--text-scale,1));margin-top:16px}
.id-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--id-column-gap)}.id-delivery-grid p{max-width:600px}
.id-list{margin:8px 0;padding-left:1.25em;color:var(--muted);font-size:var(--id-copy);line-height:1.8}.id-service p.id-small{font-size:calc(14px * var(--text-scale,1));line-height:1.8;margin-top:12px}
.id-reprint{border-collapse:collapse;width:100%;margin-top:24px;text-align:left;font-size:calc(16px * var(--text-scale,1))}.id-reprint caption{text-align:left;font-size:calc(20px * var(--text-scale,1));margin-bottom:12px}.id-reprint th,.id-reprint td{font-weight:400;border-bottom:1px solid var(--line);padding:14px 16px 14px 0}.id-reprint thead{color:var(--muted)}.id-reprint thead th{border-top:1px solid var(--line);font-size:calc(14px * var(--text-scale,1))}.id-reprint th:first-child{width:50%}.id-reprint td{font-variant-numeric:tabular-nums}
.id-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--id-column-gap)}.id-size-grid article{border-top:1px solid var(--gold);padding-top:16px;min-width:0}.id-service .id-size-label{font-size:calc(28px * var(--text-scale,1));color:var(--gold);line-height:1.4;margin-bottom:12px;white-space:nowrap}.id-size-label span{display:inline-block;font-size:calc(13px * var(--text-scale,1));margin-left:8px;color:var(--muted)}.id-size-grid h4{font-size:calc(16px * var(--text-scale,1));margin-bottom:8px}.id-size-grid article>p:last-child{font-size:calc(14px * var(--text-scale,1))}
.id-spec-details{margin-top:24px}.id-answer{padding:0 32px 24px 0}.id-answer p{font-size:calc(15px * var(--text-scale,1))}.id-answer p+p{margin-top:12px}.id-source-links{display:flex;flex-wrap:wrap;gap:8px 20px}.id-source-links a{font-size:calc(13px * var(--text-scale,1));text-decoration:underline;text-underline-offset:4px}.id-spec-note{max-width:960px}
.id-faq{margin-top:var(--id-gap)}.id-faq>h3{font-size:calc(22px * var(--text-scale,1));line-height:1.5}.id-faq>.faq-list{grid-column:5/13}
.id-inquiry{display:flex;align-items:center;gap:16px;margin-top:24px}.id-inquiry .textlink{white-space:nowrap;flex-shrink:0;padding-bottom:8px}.id-inquiry p{font-size:calc(15px * var(--text-scale,1))}
@media(max-width:1100px) and (min-width:761px){.id-section-heading{display:block}.id-section-heading p{margin-top:8px}.id-size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#id-photo{--id-gap:32px;--id-inset:24px;--id-column-gap:16px;--id-heading:22px;--id-copy:15px}.id-highlights,.id-plans,.id-preparation-grid,.id-delivery-grid{grid-template-columns:1fr;gap:24px}.id-section-heading{display:block}.id-section-heading p{margin-top:8px}.id-highlights h3,.id-service h4{font-size:calc(19px * var(--text-scale,1))}.id-plans h4{font-size:calc(20px * var(--text-scale,1))}.id-plans article{padding-top:16px}.id-service .id-price strong{font-size:calc(32px * var(--text-scale,1))}.id-block p{font-size:calc(15px * var(--text-scale,1))}.id-reprint{font-size:calc(14px * var(--text-scale,1))}.id-reprint th,.id-reprint td{padding:12px 8px 12px 0}.id-reprint th:first-child{width:44%}.id-reprint thead th{font-size:calc(12px * var(--text-scale,1))}.id-size-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.id-service .id-size-label{font-size:calc(22px * var(--text-scale,1))}.id-size-label span{font-size:calc(12px * var(--text-scale,1));margin-left:5px}.id-size-grid h4{font-size:calc(15px * var(--text-scale,1))}.id-size-grid article>p:last-child{font-size:calc(13px * var(--text-scale,1))}.id-answer{padding-right:0}.id-faq>h3{font-size:calc(22px * var(--text-scale,1))}.id-inquiry{display:block}.id-inquiry p{margin-top:12px}.id-inquiry .textlink{min-height:44px}}

/* 箭頭層級：合作主入口保留斜箭頭，一般文字連結使用底線回饋。 */
.quiet-link{border-bottom:0!important;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:55% 1px;transition:background-size .18s ease,color .18s ease}
a.quiet-link:hover,a.quiet-link:focus-visible{background-size:100% 1px;color:var(--gold)}
a.quiet-link:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
@media(prefers-reduced-motion:reduce){.quiet-link{transition:none}}

/* 同一線稿以不同照片框與頭部比例呈現，圖形無填色。 */
.id-size-grid .id-outline{width:100%;max-width:240px;height:auto;margin:0 auto 16px}
.id-size-grid article{padding-top:0}
.id-delivery-intro{margin-bottom:24px;color:var(--muted)}
@media(max-width:760px){.id-size-grid .id-outline{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.chapter-nav a:after{transition:none}}

/* 跳轉停在固定分類列下緣；不可再疊加共用章節的90px外距。 */
html{--chapter-nav-height:60px;scroll-padding-top:var(--chapter-nav-height)}
body:is([data-page="photography"],[data-page="portrait"],[data-page="id-photo"]) .chapter{scroll-margin-top:0}
@media(max-width:760px){html{--chapter-nav-height:56px}}

/* 人像與證件照：加大章節介紹至主要內容的留白。 */
#portrait,#id-photo{--intro-content-gap:48px}
#portrait>.chapter-head,#id-photo>.chapter-head{margin-bottom:var(--intro-content-gap)}
@media(max-width:760px){#portrait,#id-photo{--intro-content-gap:32px}}

/* Compact portrait introduction with one replaceable, uncropped photo. */
#portrait .portrait-intro{--portrait-photo-width:320px;--portrait-intro-gap:clamp(32px,4vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,var(--portrait-photo-width));gap:var(--portrait-intro-gap);align-items:center}
#portrait .portrait-intro-copy{min-width:0}
#portrait .portrait-intro .chapter-head{display:block;margin:0}
#portrait .portrait-intro .chapter-head>p{max-width:none;margin-top:16px}
#portrait .portrait-intro .portrait-copy{padding:0;margin-top:24px}
#portrait .portrait-intro .portrait-copy:not(:has([data-edit])){display:none}
#portrait .portrait-intro .portrait-photos{display:block;grid-column:auto;order:initial;min-width:0}
#portrait .portrait-intro .portrait-photos figure{margin:0}
#portrait .portrait-intro .portrait-photos img{display:block;max-width:100%;height:auto}
@media(max-width:760px){#portrait .portrait-intro{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}#portrait .portrait-intro .chapter-head>p{margin-top:12px}#portrait .portrait-intro .portrait-photos{width:100%;max-width:var(--portrait-photo-width);justify-self:center}}

/* Portrait process and FAQ are separate sections with shared heading spacing. */
#portrait{--portrait-section-space:48px;--portrait-section-inset:40px;--portrait-section-heading-gap:24px}
#portrait .portrait-process,#portrait .portrait-faq{margin-top:var(--portrait-section-space);padding-top:var(--portrait-section-inset);border-top:1px solid var(--line)}
#portrait .portrait-process>h3,#portrait .portrait-faq>h3{font-size:calc(22px * var(--text-scale,1));line-height:1.5;margin:0 0 var(--portrait-section-heading-gap)}
#portrait .portrait-step-list{column-gap:40px}
#portrait .portrait-faq{display:block}
#portrait .portrait-faq>.faq-list{width:100%;margin:0}
@media(max-width:760px){#portrait{--portrait-section-space:40px;--portrait-section-inset:28px;--portrait-section-heading-gap:20px}#portrait .portrait-process>h3,#portrait .portrait-faq>h3{font-size:calc(20px * var(--text-scale,1))}#portrait .portrait-step-list{row-gap:24px}}

/* Content organization: reuse existing pricing, type and spacing tokens. */
.method-includes{margin:12px 0}.method-includes p:last-child{color:var(--ink)}
#commercial .product-extras{font-size:calc(14px * var(--text-scale,1));margin-top:20px}
#preparation .inquiry-heading{font-size:calc(20px * var(--text-scale,1));font-weight:400;line-height:1.5;margin:24px 0 16px}
.product-inquiry-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:0 0 20px;list-style:none}
.product-inquiry-list h4{display:flex;align-items:baseline;gap:8px;font-size:calc(18px * var(--text-scale,1));font-weight:400;line-height:1.5;margin:0 0 8px}

.product-inquiry-list p{font-size:calc(15px * var(--text-scale,1))}
#preparation>.textlink{margin-top:24px}
.portrait-plans .portrait-fit{font-size:calc(15px * var(--text-scale,1));margin-top:16px}
.customer-reviews{margin-top:var(--section-gap);padding-top:32px;padding-bottom:48px;border-top:1px solid var(--line)}
.customer-reviews h2{font-size:calc(24px * var(--text-scale,1));font-weight:400;line-height:1.5;margin-bottom:24px}
.review-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}
.review-quotes blockquote{margin:0 0 16px;padding:0}.review-quotes blockquote p{font-size:calc(17px * var(--text-scale,1));color:var(--ink)}
.review-quotes figcaption{font-size:calc(13px * var(--text-scale,1));color:var(--muted);line-height:1.8}
.customer-reviews>.quiet-link{display:inline-block;font-size:calc(15px * var(--text-scale,1));padding-bottom:6px}
@media(max-width:1100px){.product-inquiry-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.product-inquiry-list{grid-template-columns:1fr;gap:20px}.review-quotes{grid-template-columns:1fr;gap:24px}.customer-reviews{padding-top:24px;padding-bottom:32px}.customer-reviews h2{font-size:calc(22px * var(--text-scale,1))}}

.portrait-step-list h4>[data-edit]{font:inherit;color:inherit}
@media(min-width:761px){.portrait-plans .portrait-fit,.id-service .id-turnaround{min-height:3.6em}}

/* Photography opening and long-term cooperation: existing editorial grid. */
body:is([data-page="photography"],[data-page="portrait"],[data-page="id-photo"]) .opening{padding-top:32px;padding-bottom:24px}
body:is([data-page="photography"],[data-page="portrait"],[data-page="id-photo"]) .opening h1{margin-bottom:0}
body:is([data-page="photography"],[data-page="portrait"],[data-page="id-photo"]) .opening .eyebrow{font-size:calc(13px * var(--text-scale,1));line-height:1.8}
body:is([data-page="photography"],[data-page="portrait"],[data-page="id-photo"]) .opening-pair:not(:has(img)){display:none}
#long-term{--cooperation-heading-size:34px;--cooperation-case-size:28px;--cooperation-section-gap:64px;--cooperation-inset:40px;--cooperation-case-inset:32px;display:block;margin-top:var(--cooperation-section-gap);padding:var(--cooperation-inset) 0 0;border-top:1px solid var(--line)}
#long-term .cooperation-intro>h2{font-size:var(--cooperation-heading-size);font-weight:400;line-height:1.45;letter-spacing:.025em;margin:0 0 16px}
#long-term .cooperation-intro>p{max-width:60em;font-size:calc(16px * var(--text-scale,1));line-height:1.8}
#long-term .cooperation-cases{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter,24px);margin-top:32px;padding:var(--cooperation-case-inset) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#long-term .cooperation-case{grid-column:span 6;display:grid;grid-template-rows:auto 1fr auto auto;gap:8px;min-width:0}
#long-term .cooperation-client{font-size:calc(14px * var(--text-scale,1));line-height:1.8;color:var(--muted)}
#long-term .cooperation-case h3{font-size:var(--cooperation-case-size);font-weight:400;line-height:1.5;letter-spacing:.025em;margin:0;color:var(--ink)}
#long-term .cooperation-duration{font-size:calc(16px * var(--text-scale,1));line-height:1.8;color:var(--muted)}
#long-term .cooperation-case>.textlink{justify-self:start;align-self:end;font-size:calc(16px * var(--text-scale,1));margin-top:16px}
#long-term .cooperation-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter,24px);align-items:center}
#long-term .cooperation-intro{grid-column:1/10}
#long-term .cooperation-action{grid-column:10/13;justify-self:end;margin:0;white-space:nowrap}
#long-term .cooperation-action>.textlink{font-size:calc(16px * var(--text-scale,1))}
@media(max-width:1100px) and (min-width:761px){#long-term{--cooperation-case-size:26px}}
@media(max-width:760px){
 body:is([data-page="photography"],[data-page="portrait"],[data-page="id-photo"]) .opening{padding-top:28px;padding-bottom:24px;gap:0}
 #long-term{--cooperation-heading-size:28px;--cooperation-case-size:24px;--cooperation-section-gap:40px;--cooperation-inset:32px;--cooperation-case-inset:24px}
 #long-term .cooperation-heading{grid-template-columns:minmax(0,1fr);gap:20px}
 #long-term .cooperation-intro,#long-term .cooperation-action{grid-column:auto}
 #long-term .cooperation-action{justify-self:start}
 #long-term .cooperation-intro>h2{margin-bottom:12px}
 #long-term .cooperation-intro>p{font-size:calc(15px * var(--text-scale,1))}
 #long-term .cooperation-cases{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
 #long-term .cooperation-case{grid-column:auto;grid-template-rows:auto auto auto auto}
 #long-term .cooperation-case+.cooperation-case{padding-top:24px;border-top:1px solid var(--line)}
 #long-term .cooperation-duration,#long-term .cooperation-case>.textlink,#long-term .cooperation-action>.textlink{font-size:calc(15px * var(--text-scale,1))}
}

/* Explanatory subheadings stay visibly above the body-copy level. */
.portrait-booking-notes h4{font-size:calc(18px * var(--text-scale,1));line-height:1.5;font-weight:700;color:var(--ink);margin:0 0 8px}
body:is([data-page="photography"],[data-page="portrait"],[data-page="id-photo"]) :is(.product-inquiry-list h4,.portrait-step-list h4,.id-highlights h3,.id-preparation-grid h4,.id-size-grid h4,.id-delivery-grid h4){font-weight:700}

/* Separate service pages retain the existing chapter type scale and grid. */
.photo-service-page>.chapter{padding-top:40px!important;border-top:0;scroll-margin-top:24px}
.photo-service-page .chapter-title h1{font-size:var(--chapter-size);font-weight:400;line-height:1.45;letter-spacing:.025em;margin:8px 0}
html:has(.photo-service-page){scroll-padding-top:24px}
@media(max-width:760px){.photo-service-page>.chapter{padding-top:28px!important}}

/* Supplied ID portraits: equal columns, first image lower by 21% of its width. */
.id-photo-showcase{--id-showcase-offset:21%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--id-column-gap);align-items:start;margin:0}
.id-photo-showcase>figure{min-width:0;margin:0}
.id-photo-showcase>figure:first-of-type{margin-top:var(--id-showcase-offset)}
.id-photo-showcase img{display:block;width:100%;height:auto;border-radius:0}

/* ID introduction: editorial 58:42 split, with a compact transition to service details. */
#id-photo{--id-hero-gap:40px;--id-hero-after:64px;--id-showcase-max:480px;--id-preparation-gap:40px}
.photo-service-page>#id-photo{padding-top:24px!important}
#id-photo>.chapter-head{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:var(--id-hero-gap);align-items:center;margin-bottom:var(--id-hero-after)}
#id-photo>.chapter-head>.chapter-title{min-width:0;grid-column:1;grid-row:1}
#id-photo>.chapter-head>.id-photo-showcase{--id-showcase-offset:12%;grid-column:2;grid-row:1;width:100%;max-width:var(--id-showcase-max);gap:24px;justify-self:end}
#id-photo>.id-highlights{column-gap:40px}
#id-photo>.id-highlights p{color:var(--ink)}
#id-photo>.id-preparation{display:grid;grid-template-columns:minmax(calc(var(--id-heading) * 8 * var(--text-scale,1)),28fr) minmax(0,72fr);gap:var(--id-preparation-gap);align-items:start;margin-top:32px;padding-top:32px}
#id-photo>.id-preparation>h3{margin:0;max-width:none;white-space:nowrap}
#id-photo .id-preparation-grid{grid-template-columns:minmax(0,1fr);gap:0;min-width:0}
#id-photo .id-preparation-grid>article{min-width:0}
#id-photo .id-preparation-grid>article+article{border-top:1px solid var(--line);margin-top:21px;padding-top:21px}
#id-photo .id-preparation-grid h4{font-weight:700;margin-bottom:8px}
#id-photo .id-preparation-grid p{margin:0}
@media(max-width:1100px) and (min-width:761px){#id-photo{--id-hero-gap:32px;--id-preparation-gap:32px}#id-photo>.id-highlights{column-gap:24px}}
@media(max-width:760px){
 #id-photo{--id-hero-gap:20px;--id-hero-after:48px;--id-showcase-max:320px;--id-preparation-gap:24px}
 .photo-service-page>#id-photo{padding-top:20px!important}
 #id-photo>.chapter-head{grid-template-columns:minmax(0,1fr)}
 #id-photo>.chapter-head>.chapter-title{grid-column:1;grid-row:1}
 #id-photo>.chapter-head>.id-photo-showcase{grid-column:1;grid-row:2;gap:20px}
 #id-photo>.id-highlights{grid-template-columns:minmax(0,1fr);gap:24px}
 #id-photo>.id-preparation{grid-template-columns:minmax(0,1fr);margin-top:24px;padding-top:24px}
 #id-photo>.id-preparation>h3{max-width:none}
 #id-photo .id-preparation-grid>article+article{margin-top:17.5px;padding-top:17.5px}
}

/* Still thumbnails; a separate, undecorated full-screen image viewer. */
.id-photo-showcase .id-photo-enlarge{display:block;width:100%;padding:0;margin:0;border:0;background:none;box-shadow:none;cursor:zoom-in}
.id-photo-showcase .id-photo-enlarge,.id-photo-showcase .id-photo-enlarge img{transform:none;transition:none;animation:none}
.id-photo-lightbox{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0 24px;border:0;border-radius:0;background:transparent;overflow:hidden;overscroll-behavior:contain}
.id-photo-lightbox[open]{display:flex;align-items:center;justify-content:center}
.id-photo-lightbox::backdrop{background:rgba(0,0,0,.76)}
.id-photo-lightbox>img{display:block;width:auto;height:auto;max-width:100%;max-height:86vh;max-height:86dvh;object-fit:contain;flex:none;transform:none;animation:none;transition:none;user-select:none;-webkit-user-drag:none;touch-action:pan-x pan-y pinch-zoom}
.id-photo-lightbox-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:0;background:none;color:#fff;font:30px/1 Arial,sans-serif;cursor:pointer}
body:has(.id-photo-lightbox[open]){overflow:hidden}
@media(max-width:760px){.id-photo-lightbox{padding:0 16px}}

/* Three portrait photographs remain part of the service narrative. */
#portrait .portrait-intro{--portrait-photo-width:440px}
#portrait .portrait-service-row{--portrait-service-gutter:clamp(32px,4vw,64px);display:grid;grid-template-columns:minmax(0,36fr) minmax(0,64fr);gap:var(--portrait-service-gutter);align-items:center;margin-top:var(--portrait-section-space);padding-top:var(--portrait-section-inset);border-top:1px solid var(--line)}
#portrait .portrait-service-row-seated{grid-template-columns:minmax(0,64fr) minmax(0,36fr)}
#portrait .portrait-service-photo{margin:0;min-width:0}
#portrait .portrait-service-photo img,#portrait .portrait-intro .portrait-photos img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;transform:none;transition:none;animation:none}
#portrait .portrait-service-row .portrait-booking-notes{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin:0;padding:0;border:0;min-width:0}
#portrait .portrait-service-row .portrait-process{margin:0;padding:0;border:0;min-width:0}
#portrait .portrait-service-row .portrait-step-list{grid-template-columns:minmax(0,1fr);gap:24px}
@media(max-width:1100px) and (min-width:761px){
 #portrait .portrait-intro{grid-template-columns:minmax(0,1fr) minmax(280px,36%);--portrait-intro-gap:32px}
 #portrait .portrait-service-row-standing{grid-template-columns:minmax(260px,36fr) minmax(0,64fr)}
 #portrait .portrait-service-row-seated{grid-template-columns:minmax(0,64fr) minmax(260px,36fr)}
}
@media(max-width:760px){
 #portrait .portrait-intro{--portrait-photo-width:400px}
 #portrait .portrait-service-row{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
 #portrait .portrait-service-photo{width:100%;max-width:400px;justify-self:center}
 #portrait .portrait-service-row .portrait-booking-notes,#portrait .portrait-service-row .portrait-step-list{gap:24px}
}

/* Pricing and booking precede preparation details. */
#id-photo .chapter-title h1{margin-bottom:0}#id-photo .id-validity-note{font-size:var(--id-copy);line-height:1.5;color:var(--muted);margin-top:6px;max-width:30em}.id-hero-actions{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:16px}.id-hero-actions a{font-size:calc(16px * var(--text-scale,1));min-height:44px;padding:10px 0}.id-pricing{scroll-margin-top:24px}#id-photo>.id-pricing{margin-top:0}.id-plan-inclusions{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.id-plan-inclusions h4{font-size:calc(20px * var(--text-scale,1));font-weight:700;margin-bottom:8px}.id-plan-inclusions p+p{margin-top:8px}#id-photo>.id-highlights{margin-top:var(--id-gap);padding-top:var(--id-inset);border-top:1px solid var(--line)}
@media(max-width:760px){.id-hero-actions a{font-size:calc(15px * var(--text-scale,1))}.id-plan-inclusions h4{font-size:calc(19px * var(--text-scale,1))}}

/* Fixed label column: both labels, separators and wrapping copy share anchors. */
.id-included-details{--included-label-width:4em;--included-column-gap:.65em;font-size:var(--id-copy);line-height:1.8;color:var(--muted);margin:0;display:grid;row-gap:8px}.id-included-row{display:grid;grid-template-columns:var(--included-label-width) minmax(0,1fr);column-gap:var(--included-column-gap);align-items:baseline}.id-included-row dt{font:inherit;white-space:nowrap}.id-included-row dd{font:inherit;min-width:0;margin:0;padding-left:var(--included-column-gap);border-left:1px solid var(--muted)}.id-plan-inclusions .id-included-details+p{margin-top:8px}

/* ID review conversation grid: preserve the existing outer spacing. */
body[data-page="id-photo"] #id-photo{border-bottom-color:transparent}
body[data-page="id-photo"] #customer-reviews{--review-gap:24px;--review-padding:24px;--review-fill:#fffdf8;--review-border:#dedbd1;border-top-color:transparent}
#customer-reviews h2{font-weight:700}
#customer-reviews .review-quotes{gap:32px var(--review-gap)}
#customer-reviews .review-quotes figure{min-width:0;display:flex;flex-direction:column}
#customer-reviews blockquote{position:relative;flex:1;margin:0 0 20px;padding:var(--review-padding);background:var(--review-fill);border:1px solid var(--review-border);border-radius:16px 16px 16px 4px}
#customer-reviews blockquote:after{content:"";position:absolute;left:28px;bottom:-7px;width:12px;height:12px;background:var(--review-fill);border-right:1px solid var(--review-border);border-bottom:1px solid var(--review-border);transform:rotate(45deg)}
#customer-reviews blockquote p{font-size:calc(17px * var(--text-scale,1));line-height:1.85;color:var(--ink)}
#customer-reviews figcaption{display:flex;align-items:baseline;gap:8px;padding-left:24px;flex-wrap:wrap}
#customer-reviews .review-author{font-size:calc(15px * var(--text-scale,1));font-weight:700;color:var(--ink)}
#customer-reviews .review-source{font-size:calc(12px * var(--text-scale,1))}
@media(min-width:761px) and (max-width:1100px){#customer-reviews .review-quotes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body[data-page="id-photo"] #customer-reviews{--review-padding:20px}#customer-reviews blockquote p{font-size:calc(16px * var(--text-scale,1))}#customer-reviews figcaption{padding-left:20px}}

/* Keep the portrait hover motion without hanging decorations. */
.id-photo-showcase{position:relative;overflow:visible;--id-pull-distance:10px;--id-pull-duration:320ms;padding-top:56px}
.id-photo-showcase>figure{position:relative}
.id-photo-showcase .id-photo-enlarge{position:relative;transform:translateY(0);transition:transform var(--id-pull-duration) cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){.id-photo-showcase>figure:hover .id-photo-enlarge{transform:translateY(var(--id-pull-distance))}}
@media(max-width:760px){.id-photo-showcase{padding-top:32px}#id-photo .chapter-title{position:relative;z-index:2}}
@media(prefers-reduced-motion:reduce){.id-photo-showcase .id-photo-enlarge{transition:none}.id-photo-showcase>figure:hover .id-photo-enlarge{transform:translateY(0)}}



/* Commercial workflow: four text columns; a single vertical sequence on mobile. */
#commercial .commercial-process{--process-gap:24px;--process-title-size:18px;--process-body-size:15px}
#commercial .commercial-process>h3{font-weight:700;margin-bottom:20px}
.commercial-process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--process-gap);list-style:none;padding:0;margin:0}
.commercial-process-list li{min-width:0}
.commercial-process-list h4{margin:0 0 8px;font-size:var(--process-title-size);font-weight:700;line-height:1.5}
.commercial-process-list p{font-size:var(--process-body-size);line-height:1.8}
@media(max-width:760px){#commercial .commercial-process{--process-gap:20px}.commercial-process-list{grid-template-columns:1fr}}
