@charset "UTF-8";
:root { --paper:#f5f3ec; --ink:#173d36; --muted:#62716b; --rule:#d8ddd2; --accent:#e1b46a; --serif:Georgia,'Times New Roman',serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid #aa742c; outline-offset:7px; }
.skip-link { position:fixed; top:12px; left:12px; transform:translateY(-180%); padding:12px 18px; background:var(--ink); color:#fff; z-index:10; }
.skip-link:focus { transform:none; }
.page-shell { width:min(1360px,100%); margin:auto; padding:0 64px; }
.site-header { display:flex; align-items:center; justify-content:space-between; min-height:136px; border-bottom:1px solid var(--rule); }
.brand { display:flex; align-items:center; gap:15px; }
.monogram { font:700 35px var(--serif); letter-spacing:-3px; }
.monogram span { color:#aa742c; }
.brand-name { font-size:12px; line-height:1.4; letter-spacing:1px; }
.nav-link { display:flex; gap:26px; align-items:center; font-size:13px; }
.nav-link span { font-size:21px; }
.hero { padding:80px 0 85px; display:grid; grid-template-columns:1.13fr 1fr; gap:52px; align-items:center; }
.eyebrow { display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:2.3px; text-transform:uppercase; margin:0 0 29px; }
.little-line { width:29px; height:1px; background:var(--ink); }
h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:-3.5px; margin:0; }
h1 { font-size:clamp(46px,5.1vw,72px); line-height:1.1; }
em { font-weight:400; color:#567467; }
.hero-description { max-width:370px; margin:28px 0 31px; font-size:16px; line-height:1.8; color:var(--muted); }
.button { display:inline-flex; justify-content:space-between; align-items:center; gap:34px; padding:19px 24px; background:var(--ink); color:#fff; font-size:13px; transition:background .2s,transform .2s; }
.button:hover { background:#28594b; transform:translateY(-2px); }
.button span { font-size:19px; }
.quiet-note { margin:21px 0 0; font-size:11px; letter-spacing:.3px; color:var(--muted); }
.hero-art { position:relative; min-height:470px; overflow:hidden; background:#e5e9df; border-radius:180px 180px 3px 3px; }
.art-grid { position:absolute; inset:0; opacity:.3; background-image:linear-gradient(#c9d0c1 1px,transparent 1px),linear-gradient(90deg,#c9d0c1 1px,transparent 1px); background-size:42px 42px; }
.art-orbit { position:absolute; width:420px; height:420px; border:1px solid #aebbad; border-radius:50%; top:35px; left:calc(50% - 210px); }
.orbit-two { width:500px; height:500px; top:-5px; left:calc(50% - 250px); }
.art-line { position:absolute; width:1px; height:100%; background:#aebbad; left:50%; }
.line-two { width:100%; height:1px; top:54%; left:0; }
.art-arch { position:absolute; bottom:74px; left:calc(50% - 103px); width:206px; height:292px; border-radius:110px 110px 0 0; }
.arch-back { background:#d4aa67; transform:translate(42px,-29px); box-shadow:10px 15px 24px #57705422; }
.arch-front { background:var(--ink); box-shadow:15px 20px 25px #183d3630; }
.arch-window { position:absolute; width:112px; height:228px; bottom:0; left:47px; border-radius:60px 60px 0 0; background:linear-gradient(130deg,#749181,#a8b9a4); }
.art-label,.art-number { position:absolute; bottom:27px; font-size:9px; letter-spacing:1.3px; text-transform:uppercase; }
.art-label { left:27px; }.art-number { right:27px; }
.contact-section { display:grid; grid-template-columns:1fr 1fr; gap:72px; padding:63px 0 72px; border-top:1px solid var(--rule); }
.contact-section .eyebrow { margin-bottom:22px; }
h2 { font-size:43px; line-height:1.2; letter-spacing:-1.8px; }
.contact-details { padding-top:27px; }
.contact-details>p { font-size:14px; color:var(--muted); line-height:1.8; margin:0 0 23px; }
.email-link { display:flex; align-items:center; justify-content:space-between; gap:22px; font-size:clamp(14px,1.5vw,19px); line-height:1.6; border-bottom:1px solid #9bab9f; padding:0 0 15px; }
.email-link span:last-child { font-size:25px; flex-shrink:0; }
.contact-details .contact-note { font-size:10px; margin:14px 0 0; }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:29px 0 35px; border-top:1px solid var(--rule); font-size:10px; color:var(--muted); }
.site-footer>span:first-child { color:var(--ink); font-size:11px; }
.site-footer a { display:flex; gap:16px; }
@media(min-width:1600px) { .hero { padding-top:100px; padding-bottom:100px; } }
@media(max-width:960px) { .page-shell { padding:0 36px; }.hero { gap:30px; padding:62px 0; }h1 { font-size:49px; letter-spacing:-2.2px; }.hero-art { min-height:420px; }.contact-section { gap:38px; }.email-link { font-size:14px; } }
@media(max-width:700px) { .page-shell { padding:0 25px; }.site-header { min-height:100px; }.nav-link { gap:14px; font-size:12px; }.hero { grid-template-columns:1fr; gap:43px; padding:49px 0; }.hero-copy { padding-top:5px; }h1 { font-size:clamp(42px,9vw,60px); }.hero-description { font-size:15px; margin-top:24px; }.hero-art { min-height:410px; max-width:480px; width:100%; justify-self:center; }.contact-section { grid-template-columns:1fr; gap:29px; padding:43px 0 49px; }.contact-details { padding:0; }h2 { font-size:37px; }.email-link { font-size:16px; }.site-footer { flex-wrap:wrap; gap:19px; padding:24px 0; }.site-footer>span:nth-child(2) { order:3; width:100%; }.site-footer a { margin-left:auto; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; }.button:hover { transform:none; } }
.planner-section { padding:65px 0; border-top:1px solid var(--rule); scroll-margin-top:25px; }
.planner-intro { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:end; margin-bottom:39px; }
.planner-intro>p { color:var(--muted); font-size:14px; line-height:1.8; max-width:390px; }
.planner-controls { display:flex; align-items:center; gap:28px; padding:25px; background:#e9ece3; }
.planner-controls label { display:flex; flex-direction:column; gap:9px; font-size:11px; letter-spacing:.5px; }
input[type=date] { padding:12px; border:1px solid #aab9a9; color:var(--ink); background:var(--paper); font:14px Arial,sans-serif; border-radius:0; }
.progress-summary { display:flex; flex-direction:column; gap:14px; flex:1; font-size:12px; }
progress { width:100%; height:7px; accent-color:var(--ink); border:0; background:#d1d9cd; }progress::-webkit-progress-bar { background:#d1d9cd; }progress::-webkit-progress-value { background:var(--ink); }
button { cursor:pointer; font-family:inherit; }button:focus-visible,input:focus-visible { outline:3px solid #aa742c; outline-offset:4px; }
.small-button { padding:13px 16px; border:1px solid var(--ink); color:var(--ink); background:transparent; font-size:12px; }.small-button:hover { background:#dce2d6; }
.storage-note { font-size:11px; line-height:1.7; color:var(--muted); margin:15px 0 31px; max-width:760px; }
.task-group { margin:29px 0; }.task-group h3 { font-size:11px; text-transform:uppercase; letter-spacing:1.5px; font-weight:400; margin:0; padding:0 0 13px; border-bottom:1px solid var(--rule); }
.task-row { display:flex; align-items:center; gap:16px; border-bottom:1px solid var(--rule); padding:18px 5px; cursor:pointer; }.task-row:hover { background:#e9ece355; }
.task-row input { width:19px; height:19px; margin:0; accent-color:var(--ink); flex-shrink:0; }.task-title { font-size:14px; line-height:1.5; }.task-row:has(input:checked) .task-title { text-decoration:line-through; color:var(--muted); }.task-due { font-size:11px; color:var(--muted); margin-left:auto; text-align:right; flex-shrink:0; }
.planner-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:12px; }.text-button { padding:7px 0; border:0; background:none; color:var(--ink); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.reset-confirm { padding:20px; margin-top:15px; border:1px solid #aab9a9; background:#e9ece3; }.reset-confirm p { font-size:13px; line-height:1.6; }.reset-confirm .text-button { margin-left:18px; }
@media(max-width:700px) { .planner-section { padding:43px 0; }.planner-intro { grid-template-columns:1fr; gap:17px; }.planner-controls { flex-wrap:wrap; gap:22px; padding:20px; }.planner-controls label { width:100%; }.progress-summary { min-width:150px; }.task-row { flex-wrap:wrap; gap:12px; }.task-title { flex:1; font-size:13px; }.task-due { width:100%; padding-left:31px; text-align:left; margin-top:-5px; }.planner-bottom { align-items:flex-start; } }

.reset-actions { display:flex; gap:22px; flex-shrink:0; }
[hidden] { display:none !important; }
